Skip to main content

Full text of "Byte Magazine Volume 04 Number 06 - Artificial Intelligence"

See other formats


the small systems journal 












.N-LODDIN- 




If you have a problem that can be solved by a computer— we have a systems solution. 

* Two central processors with maximum RAM capacities of 56K and 384 K bytes 

* Three types of disk drives with capacities of 175K, 1 .2M and 16M bytes 

* Two dot matrix printers with 80 and 132 line capacity 

A Selectric typewriter interface and a daisy wheel printer 

Match these to your exact need, add one or more of our intelligent terminals and put together 
a system from one source with guaranteed compatibility in both software and hardware. 

Southwest Technical Products systems give you unmatched power, speed and versatility. They 
are packaged in custom designed woodgrain finished cabinets. Factory service and support on 
the entire system and local service is available in many cities. 




SOUTHWEST TECHNICAL PRODUCTS CORPORATION 

219 W. RHAPSODY 

SAN ANTONIO, TEXAS 78216 (512) 344-0241 

Circle 350 on inquiry card. 




ppmviu. 



You can do surprising things 

when you have 64 kilobytes of fast RAM 

on one card 



4 MHz FAST— AND EXPANDABLE 

Here's 64 kilobytes of memory on 
one RAM card. Yes, we mean 51 2K 
bits of read/write memory on this 
single card. 

And, yes, we mean it's fast. With 
150-nanosecond chip access times 
— so the card can operate in fast 
Z-80 systems with no wait states. 
Repeat, no wait states. 

EXPANDABLE ON TWO LEVELS 

Not only does the new Model 
64KZ give you a large, fast RAM 
but it is expandable on two levels. 

First, through our Cromemco Bank 
Select feature, you can expand to 
512 kilobytes in eight 64K banks. 

Or, with our Extended Bank Select 
feature, you can expand memory 
space to as much as 16 megabytes. 

This expandability we call your 
obsolescence insurance. 

The legend on the card's heat sink 
is an easy reference for address and 
bank selection. 



Q 



BENCHMARK IT 

Obviously, the speed and memory 
capacity of this new card give you a 
lot of power. 

You can see that for yourself in 
our new 7-station Multi-User Com- 
puter System which uses these Model 
64KZ cards. This S100-bus system 
outperforms the speed of many if 
not most timesharing systems of up 
to 10 times the Cromemco price. 

And yet where some of these much 
more expensive and cumbersome 
systems clearly slow to a snail's pace 
when timesharing, the Cromemco 
system using Bank Select switching 
runs surprisingly fast. 

SEE IT NOW 

See the new Model 64KZ at your 
computer dealer now. Study the lit- 
erature on it. See how for only $1785 
you can get around that ever-present 
barrier of memory that's too little 
and too slow. 

Cromemco 




For high reliability all Cromemco memory 

cards are burned in at the factory in these 

temperature-controlled ovens. 




Cromemco Multi-User System 
shown with 7 stations 



280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400 

Tomorrow's computers now 



Circle 87 on inquiry card. 



BYTE lune 1979 




Here's how you can be fully computerized 
for so much less than you thought 

BUSINESS — EDUCATION — ENGINEERING — MANUFACTURING 



We are pleased to announce the first 
professional time-sharing system in the 
microcomputer field. 

Naturally, it's from Cromemco. 

This new multi-user system will do 
all of the tasks you usually associate with 
much more expensive time-sharing com- 
puters. Yet it's priced at an almost un- 
believably low figure. 

Look at these features: 

• You can have up to 7 terminals plus 
a fast, 132-column line printer 

• You can have a large system RAM 
memory that's expandable to Vi 
megabyte using the Bank Select 
feature 

• Each user has an independent bank 
of RAM 

• You can have floppy disk storage of 
up to 1 megabyte 

• You have confidentiality between 
most stations 

• And, make no mistake, the system 
is fast and powerful. You'll want to 
try its fast execution time yourself. 




PROGRAMMERS LOVE OUR BASIC 

This new system is based on Cro- 
memco's well-known System Three 
Computer and our new Multi-User 
BASIC software package. 

Programmers tell us that Cromemco 
Multi-User BASIC is the best in the field. 
Here are some of its attractions: 

• You can use long variable names 
and labels up to 31 characters long 
— names like "material on order" 
or "calculate speed reduction." 

• You get many unusual and helpful 
commands that simplify programs 
and execution — commands such as 
PROTECT, LIST VARIABLES, NOLIST, 
and many more. 



• No round-off error in financial work 
(because o^ir BASIC uses binary- 
coded decimal rather than binary 
operation). And we've still been able 
to make it FAST. 

• Terminals and printer are interrupt- 
driven — no additional overhead 
until key is pressed. 

• The conveniences in this Multi-User 
BASIC make it much easier to write 
your own application software. 

• A line editor simplifies changes. 

BENCHMARK IT — NOW 
In the final analysis, the thing to do 
is see this beautiful new system at your 
dealer. See its rugged professional qual- 
ity. Evaluate it. Benchmark it for speed 
with your own routine (you'll be agree- 
ably surprised, we guarantee you). 

Find out, too, about Cromemco's rep- 
utation for quality and engineering. 

Look into it now because you can 
have the capabilities of a fully compu- 
terized operation much quicker and for 
much less than you ever thought. 



ra 



Cromemco 



^^^_^^ Microcomputer Systems 



280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400 



BYTE lune 1979 



Circle 87 on inquiry card. 



In The Oueue 



BITE June 1979 
Volume 4, Number 6 



Foreground 






10 

49 

100 

132 

176 

36 

60 

70 

74 

86 

146 

148 

152 

156 

166 

168 

228 

234 



A MODEL OF THE BRAIN FOR ROBOT CONTROL, Part 1 : Defining Notation, by James Albus 
Defining the mathematical notation for a model of the brain 

MIND OVER MATTER: Add Biofeedback Input to Your Computer, by Steve Ciarcia 
Use muscle signals to produce computer input 

COMPUTER GENERATED MAPS, Part 2, by William D Johnston 
A general purpose perspective projection program 

THE NATURE OF ROBOTS, Part 1: Defining Behavior, by William T Powers 
How can behavior of an organism be described? 

DESIGNING A COMMAND LANGUAGE, by G A Van den Bout 

Using theory of finite state machines to design input command language 



m 



i 



page 36 



Background 



SIMPLE MAZE TRAVERSAL ALGORITHMS, by Sandra and Stephen A Allen 

A contestant of the IEEE Micromouse Contest discusses maze running strategies 

MORE COLORS FOR YOUR APPLE, by Allen Watson III 

Any pair of complementary colors can be displayed 

A HOME FOR YOUR COMPUTER, by Joseph Dawes 

Increase the utility and enjoyability of your equipment with a carefully planned cabinet 

TALK TO A TURTLE: Build a Computer Controlled Robot, by James A Gupton Jr 
Use your computer to control a mobile "robot" 

MY COMPUTER RUNS MAZES, by David E Stantield 
Using simple tree searches to reach a goal 

The 1802 OP CODES, by Henry Melton 

The instruction set of the RCA/Hughes 1802 microprocessor 

THE HISTORY OF COMPUTING: THE IBM 7070, by Keith S Reid-Green 

The IBM 7070 might have been the start of a new decimal- based computer family 

ARTIFICIAL INTELLIGENCE AND ENTROPY, BY R M Kiehn 

Chemistry, artificial intelligence, and the second law of thermodynamics 

BASIC TEXT EDITOR, by Fred Ruckdeschel 

The right tool for the job is often a text editor in BASIC 

BUBBLE MEMORIES: A Short Tutorial, by A I Halsema 

A nonvolatile, medium speed, data storage device 

STACKS IN MICROPROCESSORS, by T Radhakrishnan and M V Bhat 
Learn the ups and downs of stacks in your microprocessor 

TIMESHARING: SQUEEZING THE MOST FROM YOUR MICRO, by Sheldon Linker 
Microcomputers come of age with timesharing 

THREE TYPES OF PSEUDORANDOM SEQUENCES, by C Brian Honess 

Use of random numbers is more than just an everyday occurrence 



Nucleus 







page 49 




lijflj 




page 60 






jfjp 



page 74 



6 


Editorial: On Beginning a New Project 


133, 214 


BYTE's Bugs 


8 


Letters 


216 


Languages Forum 


129 


BYTE News 


223 


Event Queue 


188 


Technical Forum 


133, 225 


BYTE's Bits 


194 


Nybbles: The Great APL Contest 


249 


What's New? 


198 


Book Reviews 


286 


Unclassified Ads 


206 


Programming Quickies 


288 


BOMB 


213 


Clubs and Newsletters 


288 


Reader Service 



Cover Art: 

THE TURING TEST 
by Kenneth N Lodding 




BYTE is published monthly by BYTE Publications Inc, 70 Main St, Peterborough NH 03458. Address all mail except subscriptions to above address: phone (603) 924-7217. Address 
subscriptions, change of address, USPS Form 3579, and fulfillment questions to BYTE Subscriptions, PO Box 590, Martinsville NJ 08836. Second class postage paid at Peter- 
borough NH 03458 and at additional mailing offices— USPS Publication No. 102410 (ISSN 0360-5280). Subscriptions are $18 for one year, $32 for two years, and $46 for three years in 
the USA and its possessions. In Canada and Mexico, $20 for one year, $36 for two years, $52 for three years. $32 for one year air delivery to Europe. $32 surface delivery elsewhere. 
Air delivery to selected areas at additional rates upon request. Single copy price is $2 in the USA and its possessions, $2.40 in Canada and Mexico, $3.50 in Europe, and $4 
elsewhere. Foreign subscriptions and sales should be remitted in United States funds drawn on a US bank. Printed in United States of America. 

Address all editorial correspondence to the editor at the above address. Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not respon- 
sible for lost manuscripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Entire contents copyright © 1979 by BYTE Publications Inc. All rights 
reserved. 

BYTE' is available in microform from University Microfilms International, 300 N Zeeb Rd, Dept PR. Ann Arbor Ml 48106 USA or 18 Bedford Row, Dept PR, London WC1R 4EJ 
ENGLAND. 



Subscription WATS Line: (800) 258-5485 



Office hours: Mon-Thur 8:30 AM — 4:30 PM 
Friday 8:30 AM — Noon 



Iune1979 © BYTE Publications Inc 



This month's cover by Ken Lodding is 
called "The Turing Test," after the famous 
test defined by Alan Turing. It was Turing's 
contention that a computer could be judged 
as intelligent if a human questioner could 
not differentiate between a computer in one 
room and a human being in another. 

The basis for the cover painting is the 
Necker cube, an optical illusion where it is 
unclear which end of the cube is in front. 
The question here is: Is it the human or the 
computer circuit connected to the 
keyboard? 



In This BYTE 



Before discussing the design of A Model 
of the Brain for Robot Control, it is 

necessary to define the notation that will be 
used in the model. James Albus discusses 
the overall model objectives and the nota- 
tion used to describe it, drawing on control 
systems theory. page 70 

The IEEE Micromouse contest requires 
that a mechanical "mouse" find its way 
through a maze. The winner is the mouse 
that makes it through the maze in the least 
amount of time. Sandra and Stephen A 
Allen discuss some of the Simple Maze 
Traversal Algorithms they and Tony Rossetti 
used for the Micromouse contest. page 36 

The types of input available for your com- 
puter are limited only by the imagination. 
This month Steve Ciarcia uses Mind Over 
Matter to control his computer. Find out 
how to influence your computer using mus- 
cle power, page 48 

Although the official documentation for 
the Apple II high resolution color graphics 
package states that the colors violet and 
green are the only colors besides black and 
white which may be obtained, adjustment 
of the television controls allows any pair of 
complementary colors to be displayed. It is 
also possible to obtain four colors and black 
and white with appropriate adjustments. 
Allen Watson III explains how in his article 
More Colors for Your Apple. page 60 



If you enjoy taking your computer system 
to club meetings or other events, but don't 
look forward to the attendant wire fiddling 
and fuss, read A Home for Your Computer 
by Joseph Dawes. Now you can have a com- 
pact computer storage and travel case that 
doubles as a desk. page 70 

One of the most interesting applications 
of your computer is the control of physical 
devices. Perhaps you've thought of having a 
robot-like device that your computer could 
control. James Gupton Jr describes the fun 
that he and two of his students had when 
they set out to do just that in Talk to a 
Turtle. page 74 

It's not hard to put a bit of artificial in- 
telligence into your computer system. David 
Stanfield found a way to make his system 
search for "food" in a maze he set up. Find 
out how to do it in My Computer Runs 
Mazes. page 86 

William D Johnston develops a general 
purpose program with the capability to 
generate a wide variety of more advanced 
perspective projections. He includes a func- 
tional program with great versatility, as well 
as a number of maps generated by that pro- 
gram. Mr Johnston shows how Computer 
Generated Maps can be used in satellite 
communications and many other practical 
applications. page TOO 

William T Powers has a control theory 
approach to the simulation of human 
behavior. However, before we can simulate 
human behavior in a robot, we must deter- 
mine what behavior is. William Powers 
takes a look at behavioral actions as he ex- 
plores The Nature of Robots, page 132 

When hand-assembling a program it is 
useful to have a table summarizing the op 
codes for the processor. Henry Melton sup- 
plies us with a table for The 1802 Op 
Codes. page 746 

Keith S Reid-Green continues his History 
of Computing discussion with a look at The 
IBM 7070, a second generation computer 
announced in 1959. page 748 

Some scientists over the years have 
argued that a thinking machine cannot be 
built because it would violate the second 



law of thermodynamics. In Artificial In- 
telligence and Entropy author R M Kiehn 
discusses some recently completed work in 
chemistry that refutes this claim and opens 
the door once more to the possibility of in- 
telligence in machines, page 752 

When performing a lot of manipulations 
with text it is necessary to have the ability to 
perform editing functions on the file that is 
being used. If you have a computer system 
that runs BASIC, you may find that Fred 
Ruckdeschel's BASIC Text Editor is a very 
handy tool. page 756 

Bubble memories are a fairly new form of 
mass storage medium that is available to the 
general public. For a quick overview of 
Texas Instruments' bubble memory product, 
see A I Halsema's article Bubble Memories. 

page 766 

What is a stack? What does LIFO mean? 
Stacks can be important tools for the com- 
puter programmer. Knowing what they are 
and how to use them will aid you in improv- 
ing your programming skills. Find out how 
stacks stack up in T Radhakrishnan and M V 
Rhat's article, Stacks in Microprocessors. 

page 768 

An input command language is often 
regarded as the least important part of a 
system. Therefore, some excellent systems 
are ignored due to the inconvenience en- 
countered when trying to use them. Finite 
state machine theory is one solution to this 
problem. For an excellent introduction to 
the world of finite state machines read 
G A Van den Bout's article on Designing a 
Command Language. page 7 76 

Flave you ever considered using your 
computer system in a timesharing mode? To 
discover what is involved in setting up such 
a system, read Timesharing: Squeezing the 
Most from Your Micro by Sheldon Linker. 

page 228 

Calculating randomness is a very deter- 
ministic proposition, especially when 
pseudorandom number sequences are used. 
C Brian Honess in his article on Three Types 
of Pseudorandom Sequences gives some 
necessary background information on ran- 
dom number calculations and statistical 
tests of randomness. page 234 



Publishers 


Production Editors 


Circulation Manager 


Comptroller 


Drafting 


Virginia Londoner 


David William Hayward 


Gregory Spitzfaden 


Kevin Maguire 


Techart Associates 


Gordon R Williamson 


Ann Graves 


Assistants 


Assistant 


Typography 


Vice-President Periodicals 


Faith Hanson 


Pamela R Heaslip 


Mary E Fluhr 


Goodway Graphics 


John E Hayes 


Art Director 


Agnes E Perry 


National Advertising 


Photography 


Assistant 


Ellen Bingham 


Melanie Bertoni 


Ed Crabtree 


Jill E Callihan 


Production Art 


Barbara Ellis 


Sales Representatives: 


Printing 




Wai Chiu Li 


Dealer Sales 


Hajar Associates Inc 


The George Banta Company 


Editorial Director 


Christine Dixon 


Ginnie F Boudrieau 


East 




Carl T Helmers Jr 


Nancy Estle 


Anne M Baldwin 


280 Hillside Av 


Editorial Associate 


Executive Editor 




Needham Heights MA 02194 


Daniel Fylstra 


Christopher P Morgan 


Typographers 


Receptionist 


(617) 444-3946 


Associates 


Editor in Chief 


Cheryl A Hurd 


Jacqueline Earnshaw 


521 Fifth Av 


Walter Banks 


Raymond G A Cote 


Stephen Kruse 




New York NY 10017 


Steve Ciarcia 


Senior Editor 


Debe L Wheeler 


Traffic Department 


12121 682-5844 


David Fylstra 


Blaise W Liffick 




Rick Fuette 


Midwest 


Ira Rampil 


Editor 


Advertising Director 


Mark Sandagata 


664 N Michigan Av 


Distributors: 


Richard Shuford, N4ANG 


Patricia E Burgess 




Suite 1010 


Eastern Canada 


Editorial Assistant 


Assistant 


Book Division 


Chicago IL 6061 1 


RS-232 Distribution Company 


Gale Britton 


Ruth M Walsh 


Publisher 


(3121 337-8008 


186 Queen St W. Suite 232 


New Products Editor 


Adv/Prod Coordinator 


Edmond C Kelly Jr 


West, Southwest 


Toronto ONTARIO M5V-1Z1 


Clubs, Newsletters 


Thomas Harvey 


Production Editors 


1000 Elwell Ct 


Western Canada 


Laura A Hanson 


Advertising Billing 


Patricia Curran 


Suite 227 


Kitronic Ltd 


Drafting 


Noreen Bardsley 


William Hurlin 


Palo Alto CA 94303 


26236 26th Av RR 5 


Jon Swanson 


Don Bardsley 


E S Associates 


(415) 964 0706/(714) 540-3554 


Aldergrove BC VOX 1A0 



June 1979 © BYTE Publications Inc 




Structured Systems 

business software can 

put a microcomputer 

to work for you. 




SSG's general accounting, data inquiry, mailing, and 
communications software packages are bringing real 
computer power to hundreds of businesses right 
now. They are ready to go to work for your business. 

The Honest-To-Business $12,000 Computer 

Our software will power DYNABYTE, CROMEMCO, 
IMSAI, NORTHSTAR, ALTOS, MICROMATION, DIGITAL 
SYSTEMS, or other Z-80 or 8080 based computers 
through your General Ledger, Accounts Receivable, and 
Accounts Payable. And maintain a conversational 
data-base query system, store and print your mailing list 
and labels, produce and edit correspondence, address 
it from your mailing list, and more. The price for a total 
system— hardware and SSG software— ranges from 
$8,000 to $14,000. 

Real Business Computing 

Our Business Software packages are designed to be up 
and running and working for you in a matter of hours. 
Without expensive reprogramming, technical staff addi- 
tions, or costly trial-and-error. Our quality is high, our 
documentation practically self-instructive. The applica- 
tions are flexible and extensive, designed to meet and 
exceed the requirements of most small to medium busi- 
nesses. Real computer solutions at microcomputer prices. 



Some Pleasant Surprises 

Your computer retailer can give you a demonstration 
and literature. You might find a solution just right for 
your business with"off the shelf" prices and delivery 
times. Or we will be happy to send you literature direct, 
including a list of our dealers and compatible hardware. 
Write us, or call. 




The SSG product line includes these outstanding packages: 

General Ledger LETTERIGHT Letter Writer 

Accounts Receivable NAD Mailing System 

Accounts Payable QSORT Sorting System 

CBASIC-2 WHATSIT? Data /Query System 



Structured Systems Croup 

INCORPORATED 

5204 Claremont Oakland, California 94618 (415) 547-1567 



* Complete prices will vary with equipment and software selected. Required: 
8080 or Z-80 based computer running a CP/M or CP/M-compatible 
disk-based operating system. Your retailer or SSG can advise on specifics. 
(CP/M is a product of Digital Research.) 



Circle 353 on inquiry card. 



BYTE June 1979 



Look for 

Shugart drives 

in personal 

computer systems 

made by these 

companies. 



Altos Computer Systems 

2378-B Walsh Avenue 
Santa Clara, CA 95050 

Apple Computer 

10260 Bandley Dr. 
Cupertino, CA 95014 

Digital Microsystems Inc. 

(Formerly Digital Systems) 
4448 Piedmont Ave. 
Oakland, CA 94611 

Imsai Mfg. Corporation 

14860 Wicks Blvd. 

San Leandro, CA 94577 

Industrial Micro Systems 

633 West Katella Suite L 
Orange, CA 92667 

North Star Computer 

2547 9th Street 
Berkeley, CA 94710 

Percom Data 

318 Barnes 
Garland, TX 75042 

Polymorphic Systems 

460 Ward Dr. 

Santa Barbara, CA93111 

Problem Solver Systems 

20834 Lassen Street 
Chatsworth, CA 91311 

Processor Applications Limited 

2801 E. Valley View Avenue 
West Covina, CA 91792 

SD Sales 

3401 W. Kingsley 
Garland, TX 75040 

Smoke Signal Broadcasting 

6304 Yucca 
Hollywood, CA 90028 

Technico Inc. 

9130 Red Branch Road 
Columbia, MD 21045 

Texas Electronic Instruments 

5636 Etheridge 
Houston, TX 77087 

Thinker Toys 

1201 10th Street 
Berkeley, CA 94710 

Vista Computer Company 

2807 Oregon Court 
Torrance, CA 90503 



r<i.Shugart 

6 lune 1979 © BYTE Publications Inc 



Editorial 



by Carl Helmers 



On Beginning a New Project... 



This week, I began a new project. It is one which could be begun by 
many of our readers, that of building a new computer system. In photo 1 we 
see what my last project turned into after four years of effort at various 
levels: a 6800 processor with some 28 K of programmable memory, sockets 
for 8 K of 2708 read only memory, a Sykes 9000 series floppy disk sub- 
system, a tape subsystem, 
and communications via 
parallel ports to two other 
computers: an Altair and 
my ALF Products AD-8 
music synthesizer. As can 
be seen by the photo, this 
system is a packaging night- 
mare. 

I now use a cleaner ma- 
chine, manufactured by 
Northwest Microcomputer 
Systems, as my primary 
computer. The old home- 
brew sits downstairs, un- 
used for the most part. 
The Pascal oriented ma- 
chine that is upstairs gives 
me a software develop- 
ment facility which can 
support my hardware pro- 
jects, something I did not 
previously have to such a 
degree. However, the Pas- 
cal machine does not yet 
talk to the music synthe- 
sizer and the music key- 
board, so I still have that 
problem. 

To solve that problem, 
I have set out on a new 

project: building a general purpose computer for use as a local controller of 
the music peripherals. The communication with the main software source, the 
Pascal machine, will be via a high speed serial communications line when the 
music machine is not used alone, as in a live performance situation. The pro- 
cessor in this new local controller will be a Motorola 6809. It is perhaps the 
ultimate 8 bit processor of current technology. 

In order to accomplish the musical goal of either self-contained or remote 
commanding of the synthesizer, such a controller must contain certain mini- 
mum functions. It must have a local communications oriented monitor, as 
well as a monitor oriented toward self contained operation. The communi- 
cations monitor contains simple binary (not decoded ASCII) command func- 
tions for loading memory, examining memory, dumping memory, and jump- 
ing to arbitrary locations. This sort of monitor might take 100 or 200 bytes 
of code in the 6809's instruction set. The self-contained operations monitor 

Text continued on page 124 




Photo 1: This homebrew personal computer 
system is an example of the kind of packag- 
ing nightmare which can result from experi- 
mentation with hardware. It works quite 
nicely, but is not exactly portable. This 
system proves that in hardware, as in soft- 
ware, It is possible to get a system where the 
patches and ad hoc kluges tend to out- 
number the original features of the design. 



"Nty Shugart 
followed me h 



IT' 



% 



M 



I 




& 




rs^ 



"After working all day with the computer at 
work, it's a kick to get down to Basic at home. And 
one thing that makes it more fun is my Shugart 
minifloppy™- We use Shugart drives at work, so 
when I Pought my own system I made sure it had a 
minifloppy drive. 

"Why? Shugart invented the minifloppy. The 
guys who designed our system at work tell me that 
Shugart is the leader in floppy design and has 
more drives in use than any other manufacturer. If 
Shugart drives are reliable enough for hard-working 
business computers, they've got to be a good 
value for my home system. 

"When I'm working on my programs late at 
night, I can't wait for cassette storage, My 
minifloppy gives me fast random access and data 



transfer. The little minidiskettes store plenty of 
data and file easily too. 

"I made the right decision when I bought a 
system with the minifloppy. When you lay out your 
own hard-earned cash, you want reliability and 
performance. Do what I did. Get a system with the 
minifloppy." 

If it isn't Shugart, 
it isn't minifloppy. 

^Shugart 

435 Oakmead Parkway. Sunnyvale. California 94086 



See opposite page (or list of manufacturers featuring Shugart's minifloppy in their systems. 

TM minifloppy is a registered trademark ot Shugart Associates 



BYTt |une197«J 



Letters 



DIGITIZING DATA BASES 

Recently I saw an advertisement for 
the new Bit Pad One and thought of the 
numerous uses it presented. One that is 
especially interesting is building a data 
base. 

The computer could be programmed 
to print a sentence or word in any form 
of lettering or type font, from script to 
Old English by letting a string equal any 
modified letter of the programmer's 
choice. With 26 strings, you would have 
a complete alphabet in any form you 
like. The computer could identify the 
input letter, word, or phrase, match 
it with the correct string variable, and 
print that variable (letter). The outcome 
would range from a letter to a full para- 
graph typed and printed in any font 
imaginable. 

The only way to store such data as 
these modified letters without investing 
hours of time in plotting coordinates 
and typing them in, would be to 
illustrate the letters on the new Bit Pad 
One. 

I hope all computer enthusiasts can 
derive as much enjoyment from this 
amazing device as I anticipate. 

Jeff Korn 

71 Hillary Ln 

Penfield NY 14526 

Any way you look at your proposed 
project, it is a major undertaking. The 
concept of building data bases from a 
digitizer Is not new, but the program- 
ming exercise it involves is sure to be 
rewarding. RGAC 



DIGITAL RADIO OPERATORS 

In response to Don Stoner's letter, 
"Calling all Computers" (December 
1978 BYTE, page 159), I thought you 
might be interested in some details of 
the new "packet radio license" avail- 
able in Canada. 

The Amateur Digital Radio Opera- 
tor's Certificate is an Amateur Radio 
certificate, the holder of which is quali- 
fied to operate in some amateur radio 
bands. Mr. Stoner refers to this as the 
"Packet Radio Service" and implies 
that it is separate from the Amateur 
Radio Service. This is not true. Neither 
is it true that some of the band will 
probably go to the GRS (CB) service. 
As a matter of fact, the DOC seems 
proud of the fact that Canadian amateurs 
are the first in the world to implement 
the technique of packet radio on the 
amateur bands. They have made liberal 
bandwidth allowances in several portions 
of the 220 MHz band specifically for this 
technique, and it seems unlikely that 



they would start chopping off portions 
of this "show case" band to hand over 
to the GRS service. 

The Amateur Digital Certificate allows 
operation on all amateur frequency bands 
above 144 MHz. This includes 144 to 
148 MHz (2 meters), 220 to 225 MHz, 
420 to 450 MHz, 1215 to 1300 MHz and 
five more bands from 2.3 to 24 GHz. It 
allows all current modes such as Morse 
code, single side band voice, FM voice, 
FSK or AFSK teletypewriter or data, 
and television, as well as several modes 
of pulse transmission. This is aimed 
primarily at the computer and elec- 
tronics hobbyists who would like to 
participate in computer networking. The 
requirements (ie: examination) reflect 
this. 

There is no Morse code exam at all. 
The written exam has three parts: 

• multiple choice questions on 
Canadian amateur radio regula- 
tions, 

• questions on radio communica- 
tions theory and operation (on 
the Advanced Amateur level), 

• the digital exam with questions 
on computing, analog and digital 
transmission, packet radio, queu- 
ing theory, digital coding, error 
control and other topics. 

The pass requirements are 70 percent 
per section and the exam is not simple 
(I've written it), so it seems that they are 
looking for serious hobbyists to pass this 
exam. 

Those who already hold an amateur 
or advanced amateur certificate in Canada 
are allowed to do anything that this new 
certificate allows (including packet radio) 
except for the pulse modes of transmis- 
sion. (FSK is the current favorite for low 
speed networks and point to point con- 
tacts, with some type of PCM for the 
higher speed networks.) This new license 
is ideal for those computerists who want 
to get on the air with their terminal or 
computer but could never stand Morse 
code. 

Personally, I can't wait to finish 
building my transmitter and get my Z-80 
system on the air, and I would like to 
hear from other Canadian readers who 
are doing the same. I certainly don't 
talk to many hams on the HF bands who 
are interested in computing. 

Ron Vanderhelm, VE7COR 

University of British Columbia 

Amateur Radio Club 

Box 7 SUB, University of BC 

Vancouver BC CANADA 



LINEAGE PROGRAMMING 

I am a genealogist and would like to get 
in contact with suppliers of programs 
for use by genealogists. I have a Digital 
Equipment Corp PDP-10 with expanded 
memory, disk, and paper tape. 

Mrs G V Creaser 

4 Sunny Hill Rd 

Northboro MA 01 532 



ComputerLand 



Huntsville, AL 


(205) 539-1200 


Phoenix, AZ 


(602) 956-5727 


Little Rock, AR 


(501) 224-4508 


Belmont, CA 


(415) 595-4232 


Dublin, CA 


(415) 828-8090 


El Cerrito, CA 


(415) 233-5010 


Hayward, CA 


(415) 538-8080 


Lawndale, CA 


(213)371-7144 


Los Altos, CA 


(415) 941-8154 


Los Angeles, CA 


(213) 776-8080 


Marin, CA 


Call Directory Information 


Pasadena, CA 


(213) 449-3205 


Saddleback Valley, CA 


(714) 770-0131 


San Bernardino, CA 


(714) 886-6838 


San Diego, CA 


(714) 560-9912 


San Diego East, CA 


(714) 464-5656 


San Francisco, CA 


(415) 546-1592 


San Jose, CA 


(408) 253-8080 


Santa Maria, CA 


(805) 928-1919 


Santa Rosa, CA 


(707) 528-1775 


Thousand Oaks, CA 


(805) 495-3554 


Tustin, CA 


(714) 544-0542 


Walnut Creek, CA 


(415) 935-6502 


Colorado Springs, CO 


(303) 574-4150 


Denver, CO 


(303) 759-4685 


Fairfield, CT 


(203) 255-9252 


Newark, DE 


(302) 738-9656 


Boca Raton, FL 


(305)368-1122 


Ft. Lauderdale, FL 


(305) 566-0776 


Jacksonville, FL 


(904) 731-2471 


Atlanta, GA 


(404) 953-0406 


Honolulu, HI 


(808) 521-8002 


Arlington Heights, IL 


(312) 255-6488 


Downers Grove, IL 


(312)964-7762 


Mundelein, IL 


(312) 949-1300 


Niles. IL 


(312)967-1714 


Oak Lawn, IL 


(312)422-8080 


Peoria, IL 


(309) 688-6252 


Indianapolis, IN 


Call Directory Information 


Overland Park, KS 


(913)492-8882 


Louisville, KY 


(502) 425-8308 


Rockville, MD 


(301) 948-7676 


Grand Rapids, Ml 


(616) 942-2931 


Southfield, Ml 


(313)356-8111 


Bloomington, MN 


(612) 884-1474 


Rochester, MN 


(313) 652-9000 


Springfield, MO 


(417)883-7085 


Nashua, NH 


(603) 889-5238 


Cherry Hill, NJ 


(609) 795-5900 


Bergen County, NJ 


(201) 845-9303 


Morristown, NJ 


(201) 539-4077 


Buffalo, NY 


(716) 836-6511 


Ithaca, NY 


(607) 277-4888 


Nassau County, NY 


(516) 742-2262 


Charlotte, NC 


(704) 536-8500 


Cleveland, OH 


(216)461-1200 


Columbus, OH 


(614) 888-2215 


Portland, OR 


(503) 620-61 70 


Harrisburg, PA 


(717) 763-1116 


Austin, TX 


(512)452-5701 


Dallas, TX 


(214) 363-2223 


South West Houston, TX (713) 977-0909 


Houston Bay Area, TX 


(713)488-8153 


Salt Lake City, UT 


(801) 364-4416 


Tyson's Corners, VA 


(703) 893-0424 


Bellevue, WA 


(206) 746-2070 


Federal Way, WA 


(206) 838-9363 


Tacoma, WA 


(206) 581-0388 


Madison, Wi 


(608) 273-2020 


Milwaukee, WI 


(414) 466-8990 


INTERNATIONAL 




Adelaide, Australia 


Call Directory Information 


Brisbane, Australia 


07 221 9777 


Perth, Australia 


Call Directory Information 


Sydney, NSW Australia 


29-3753 


Brussels, Belgium 


43 29 05 


Burlington, Canada 


Call Directory Information 


Toronto, Canada 


Call Directory Information 


Winnipeg, Canada 


(204) 772-9519 


Manila, Philippines 


58-36-66 



June 1979 © BYTE Publications Inc 



Circle 75 on inquiry card. 





\ 



1 




1 




If the truth is that you want a 
computer . . . then we want to be your 
computer store. 

We're ComputerLand, the #1 
computer store chain in the U.S. What's 
meaningful about that fact is, that 
ComputerLand has been chosen by more 
people as having what they've been 
looking for. And, since you're looking, let 
us tell you what you'll find, when you visit 
a ComputerLand store. 

You'll find a product line that's 
continually evaluated to provide you with 
the widest and best selection in quality, 
brand name microcomputers anywhere. 
You'll find an enthusiastic and 
knowledgeable staff able to interpret all 
the equipment specifications, in terms of 
how they apply to you, and in a way 
you'll understand. You'll find demonstration 
areas where you can get a firsthand 
experience of running a computer yourself. 





You'll find educational materials to give 
you a total insight into the world of 
microcomputers. 

You'll find a fully equipped service 
department to provide whatever assistance 
is required to keep your computer running 
in top-notch condition. You'll find computer 
user's clubs to join, where you can share 
ideas with people as enthusiastic as 
yourself. And, with each new visit, you'll 
find excitement— from the people you deal 
with, the equipment they offer, and from 
your own ever-growing personal 
involvement. 



Enough about us. How about what 
computers do. To attempt to describe all 
the things your computer might do, would 
be to describe your imagination. So 
instead, we'll briefly list some of the many 
things for which small computers are 
already being used. 

In business, the advent of the 
versatile and compact microcomputer has 
put the benefits of computing within reach 
of small companies. With systems starting 
at less than $6000, the businessman can 



FOR THE HOME 



ComputerLand Corp. 

14400 Catalina St. 

San Leandro, CA 94577 

(415)895-9363 

Franchise Opportunities Worldwide. 




computerize things like accounting, 
inventory control, record keeping, word 
processing and more. The net result is the 
reduction of administrative overhead and 
the improvement of efficiency which allows 
the business to be managed more 
effectively. 

In the home, a computer can be used 
for personal budgeting, tracking the stock 
market, evaluating investment opportunities, 
controlling heating to conserve energy, 
running security alarm systems, automating 
the garden's watering, storing recipes, 
designing challenging games, tutoring the 
children . . . and the list goes on. 

In industry, the basic applications are 
in engineering development, process 
control, and scientific and analytical work. 
Users of microcomputers in industry 
have found them to be reliable, cost- 
effective tools which provide computing 
capability to many who would otherwise 
have to wait for time on a big computer, 
or work with no computer at all. 




And now we come to you, which leads 
us right back to where we started: If you 
want a computer, then we want to be 
your computer store. 

Whether you want a computer for the 
home, business or industry, come to 
ComputerLand first. We'll make it easy for 
you to own your first computer. Because, 
simply put, we really want your business. 
When you come right down to it, that's 
what makes us #1. 



ComputerLand 

WE KNOW SMALL COMPUTERS 



ComputerLand Europe 
Europa Terrassen 
8 Rue Jean Engling 
Dommeldange, Luxembourg 
Phone 43 29 05 Telex 2423 



© ComputerLand Corp., 1978 



BYTE June 197') 



A Model of the Brain 
for Robot Control 



Part 1: Defining Notation 



James Albus 

Project Manager 

National Bureau of Standards 

United States Dept of Commerce 

Washington DC 20234 



The ideas presented in 
this article represent the 
views of the author and 
not those of the Depart- 
ment of Commerce or the 
National Bureau of Stand- 
ards. 



Editor's Note: 

This month Dr James 
Albus begins an ambi- 
tious 3 part series about 
the brain. His theories, 
which evolved out of 
control systems theory, 
form an interesting con- 
trast to Ernest W Kent's 
series, "The Brains of 
Men and Machines" in 
BYTE for January, 
February, March, and 
April 1978. We hope 
that nonmathematically 
oriented readers will 
persevere through the 
more technical sections 
in order to benefit from 
Dr A I bus's insights. . . . 
CM 



In order to build a computer model of 
the brain for robot control we must start 
with a clear understanding of what the 
brain is for (ie: its primary function). If 
one examines what most brains do all of 
the time, and what our own brains do most 
of the time, it is clear that the brain is not 
used primarily for thinking. 

The brain is first and foremost a control 
system. All brains, even that of the tiniest 
insect, control behavior. Some brains can 
produce very complex behavior, but only 
the most sophisticated and highly developed 
brains exhibit the phenomenon of thought. 
Clearly then, thought is not the central 
purpose of the brain, but is, rather, an arti- 
fact that arises out of the complex comput- 
ing mechanisms required to generate and 
control extremely sophisticated behavior. 

This implies that would-be brain modelers 
should first attempt to understand, and if 
possible, reproduce the control functions 
and behavior patterns that exist in insects, 
birds, mammals, and, in particular, primates. 
Only after these control systems are success- 
fully modeled can we expect to understand 
the mechanisms that give rise to intelligence 
and abstract thought in the human brain. 

If the brain is primarily a control system, 
then any brain model we construct should 
control something. One of the most obvious 
candidates is a robot manipulator, since it 
rather closely resembles a limb, the most 
common type of device controlled by the 
brain. We shall therefore first develop a 
computer model of a basic neurological 
structure which can compute control func- 
tions for a robot manipulator. 

We shall then attempt to demonstrate 
how this basic model can be generalized to 
compute a broad class of analytic, transcen- 
dental, or logical functions and production 



rules of many multivalued variables. We will 
show how this same model can learn, re- 
member, and recognize patterns and how 
it can be interconnected into a hierarchical 
network for generating sensory interactive, 
goal directed behavior. 

We wi{l suggest how such a hierarchy 
might remember experiences, solve problems, 
plan tasks, select goals, answer questions, 
structure knowledge of the world and events, 
and understand and generate music or natural 
language. Finally, we will also suggest some 
possible experiments and lines of research 
that might be pursued by one or more 
ambitious personal computer enthusiasts 
with limited resources. 

The Nature of Computation in the Brain 

The brain is, of course, not a single 
computer, but rather a network of billions 
of individual computing devices intercon- 
nected so as to produce coordinated and 
unified action. There are millions of photo- 
detectors in each eye and thousands of audio 
detectors in each ear. The body is embedded 
with sensors which detect touch, pressure, 
heat, cold, and pain; chemical analyzers that 
detect the smell and taste of things; and 
sensors that measure the position of joints, 
the tension in tendons, and the length and 
velocity of contraction of muscles. Inertial 
sensors measure roll, pitch, and yaw accel- 
erations, and the position of the head with 
respect to gravitational attraction; and 
hormone detectors, thermosensors, and 
blood chemistry analyzers report on the 
internal biological condition of the organism. 

All of this information is analyzed and 
processed in innumerable computing centers 
which detect patterns, compare incoming 
data with stored expectations, and evaluate 



10 



June 1979 © BYTE Publications Inc 



Circle 141 on inquiry card. 



THE FAMOUS GRIVET SERIES OF 



INDUSTRIAL ROBOT KITS 




PICTURED ABOVE: 3-AXIS MANIPULATOR (KIT NO. 3) WITH ELECTRONICS - $750.00 



SEND FOR 
COMPLETE CATALOG 




II 



$10.00 

MAIL CHECK OR MONEY ORDER TO: 



Computer Shoppe, Inc. 
Metairie, LA 

Digital Design 
Cincinnati, OH 

Computer Mart of NY 
New York City 

Computer Mart of NJ 
Iselin, NJ 

Minnesota Micro Sys. 
Minneapolis, MN 

Irisco Du Quebec 

GALLAHER RESEARCH, INC. 



DEALERS 

Quebec, Canada 

Heathkit Electronics Center 
Anaheim, CA 

Personal Computer Center 
Overland Park, KS 

Tom morrow/Today 
New Port Richey, FL 

Computer Ware 
Encinitas, CA 

Computer Forum 
Santa Fe Springs, CA 

P.O. BOX 10767, WINSTON-SALEM, N.C 27108 



the results. In many different ways and at 
many different levels this sensory data 
stream interacts with the behavior generat- 
ing system to select goals, modify habits, 
and direct the actions of millions of muscles 
and glands to produce what is observed as 
behavior. 

Perhaps the most obvious feature of the 
brain is that many computations are going 
on in many different places simultaneously. 
The brain does not execute sequential pro- 
grams of instructions under control of a 
program counter. There is no fetch/execute 
cycle. The mathematics of finite state auto- 
mata and Turing machines are not well- 
suited for describing the basic operations of 
the brain. In fact, the fundamental compu- 
tations performed in the brain are not even 
digital — they are analog. Each neuron in the 
brain is essentially an analog computer per- 
forming complex additions, integrations, 
differentiations, and all sorts of nonlinear 
operations on input variables that can num- 
ber from one to several hundred thousand. 

The brain is a digital device only in that 
information is encoded for transmission 
from one neuron to another over long trans- 
mission lines (called axons) by pulse-fre- 
quency or pulse-phase modulation. When 
these pulse encoded signals reach their 
destinations, they are reconverted into 



analog voltages for the computations which 
take place in the dendrites and cell bodies 
of the receiving neurons (see "Designing a 
Robot from Nature" February 1979 BYTE, 
page 28). 

The brain achieves its incredible precision 
and reliability through redundancy and 
statistical techniques. Many axons carry 
information concerning the value of the 
same variable, each encoded slightly differ- 
ently. The statistical summation of these 
many imprecise and noisy information chan- 
nels results in the reliable transmission of 
precise messages over long distances. In a 
similar way, a multiplicity of neurons may 
compute on roughly the same input vari- 
ables. Clusters of such computing devices 
provide statistical precision and reliability 
orders of magnitude greater than that achiev- 
able by any single neuron. The outputs of 
such clusters of neurons are transmitted and 
become inputs to other clusters, which per- 
form additional analog computations. These 
are the variables we have to deal with and 
the computations we have to simulate if we 
are to model the brain in any meaningful 
way. 

To those familiar only with fetch/execute 
machines, this may seem an extremely diffi- 
cult structure to model. I hope, in the course 
of these articles, that some of the difficulties 



A pencil, a card, and this low-cost reader. . , 
it's the new, fast way to enter data into your 
microcomputer." 



MARK READER 



i P 



Interfaces to TRS-80, Apple II, PET, and others. 

Good news! Now, all you need is a standard #2 pencil, a card, and our new 
MK-500 mark sense card reader to quickly and easily enter data into your 
favorite microcomputer. 

As Easy as One, Two, Three... 

Here's all you have to do. One— program the card by marking with the pencil. 
Two — feed the card into the reader slot. Three — the reader automatically turns 
on, the card is fed through, and data is instantly entered into memory. It's the 
simple low-cost alternative to keyboard data entry. 

For Educators, Small Businessmen, and... 

The applications for our low-cost MR-500 are endless. For small businesses, it's 
ideal for inventory, time cards, labor distribution (just to name a few). Educators 
will find that the MR-500 streamlines test scoring, attendance records, and grade 
reporting. Bet you can find a use already. 

The Small Reader for the Small Computer 

The MR-500 is lightweight — 4 lbs. Compact — 

a 4V4-inch cube. And at $750, it's the only mark ^^^ j for details. 

sense card reader that makes sense for the l<r^-^iZ ! ° r better yet ' 

small computer. I order yours today. 

CHATSWQRTH DATA 

C= CTJ f=9 F=» C=3 F=^ ^^.-t— I CS l^«J 

20710 Lassen Street • Chatsworth, California 91311 
(213)341-9200 ^ffl 




..... 

lis. 
>r yet, 



Circle 98 on inquiry card. 



(a) 

A VECTOR WITH 
V= v 



lb) 



V=(v x ,v y ) 




(C) 



V = (v x ,v y ,v z ) 




will be cleared away and the prospects for 
building such structures will seem less 
dubious. 

The Need for Notation 

In order to discuss an engineering design 
for a robot control system modeled after the 
brain, we must first devise a mathematical 
convention and notation to bridge the gap 
between the structure of the brain and the 
structure of currently available computers. 
This is essential if we are to describe 
behavior precisely and to translate that 
description into a design for circuits and pro- 
gram statements to generate behavior in a 
computationally concise manner. 

Vectors 

One way to describe many variables and 
deal with many simultaneous multivariant 
computations is to use vector notation. A 
vector is simply an ordered set, or list of 
variables. A vector can specify magnitude 
and direction. The vector V in figure lb has 
two components v x along the X axis and v y 
along the Y axis. The ordered set, or list of 
components define the vector so that we can 
write V = (v x , v y ). 

The components of a vector can also be 
considered as the coordinates of a point 
(v x , v y ) which corresponds to the tip of the 
vector. The locus of all pairs of components 
which can exist defines a vector space (for 
two dimensions the vector space is a sur- 
face). A vector can have more than two 




Figure I: Defining space 
with vectors. A vector is 
an ordered list of variables 
which defines a point in 
space; (a), (b), (c), and (d) 
depict vectors representing 
I, 2, 3, and 4 dimensions, 
respectively. The number 
of dimensions in the space 
is equal to the number of 
variables in the list. (The 
illustration in (d) is meant 
only to be symbolic of a 
four-dimensional vector, 
which cannot be visualized 
in three dimensions.) 



Now, a book 

for the practicing 

professional... 




"This is the best handbook of data 
communications system technology 
tliat this reviewer has yet 
encountered."— ArvidG. Larson in 
ACM Computin g Reviews , 
February 1978 

Digital Press announces the 
publication of TECHNICAL 
ASPECTS OF DATA COMMUNI- 
CATION by John McNamara. 

Written for the practicing pro- 
fessional, TECHNICAL ASPECTS 
OF DATA COMMUNICATION 
details the nuts-and-bolts prob- 
lems and solutions in configuring 
communications systems. It 
features: • comparison of protocols 
(DDCMP, BISYNC, SDLC) • exten- 
sive explanation of interface stand- 
ards (CCITT/V.24, RS232C, RS422, 
RS423) • six comprehensive 
appendices (how far/how fast?, 
modem options, codes, UART, 
fonnat and speed table for asyn- 
chronous communication, chan- 
nel conditioning) • 20 milliampere 
loop • telephone switching 
systems • error detection 

• 382 pages • 125 figures • 70 
pages of tables • index • hardcover 



Digital Press C8 

Education&J Services 
Digital F.quiprnent Corp. 
Croshy Drive. Bedford. MA 01730 

1 would like to order copies of 

TECHNICAL ASPECTS OF DATA 
COMMUNICATION at $19.95* per copy. 
□ Check enclosed □ Money order enclosed 
*Plus $1 for postage and handling 

Name — — 



Address 
City 



State 



Zip 
Prices apply in U.S. only. 



lune 1M79 © BYTE Publications Inc 13 



RATE OF 
PRECIPITATION 



WIND SPEED 




W'= (w ,wi, w' w' ) 



TEMPERATURE 



Figure 2: If, as time progresses, one or more of the components of a vector W 
change, the vector will move through space, tracing out a trajectory T w . 



(a) 




»T S 



TIME 



components. A vector with three com- 
ponents defines a volume (figure 1c), and a 
vector with four or more components 
defines a hyperspace (figure 1d). A hyper- 
space is impossible to visualize, but is a very 
useful concept for our discussion. 

A vector in a higher dimensional space 
can usually be visualized as a projection onto 
a lower dimensional space. For example, 
typical mechancial drawings portray front, 
side, and top views of a three-dimensional 
form projected onto a two-dimensional sheet 
of paper. Each projection can either 
illustrate a cut through the object at a partic- 
ular plane along the projection axis, or a 
superposition of all the salient features of 
the object collapsed into the plane of the 
illustration. In the collapsed version, the fact 
that two points or lines intersect in the pro- 
jected image does not necessarily mean that 
they coincide or intersect in the higher 
dimensional space — they may simply lie 
behind each other along the projection axis. 
The projection operator ignores variable 
differences which correspond to distance 
along the projection axis. 

It is not necessary to make the projection 
axis coincident with any of the coordinate 
axes. For example, in the oblique projection 
(perspective drawing) of figure 1c, the pro- 
jection axis (the normal line to the paper 
through the origin of the coordinate system) 
is not aligned with any of the coordinate 
axes. The lines in the drawing represent the 
projections of lines in a three-dimensional 
space onto the two-dimensional surface of 
the paper. In a similar way we can project 
higher dimensional vectors and hyperspaces 
of any dimension onto a two-dimensional 
drawing. Figure 1d illustrates a four-dimen- 
sional vector projected onto a two-dimen- 
sional drawing. 



(b) 




.2 // 



States and Trajectories 

A vector can specify a state. This is the 
primary use we shall make of vectors in this 
discussion. A state is defined by an ordered 
set of variables. For example, the state of 
the weather might be characterized by a 
state vector W = (w 1 , w 2 , w 3 , w 4 ) where: 

w 1 = temperature, 

w 2 = humidity, 

w 3 = wind speed, 

w 4 = rate of precipitation. 



Figure 3: If the ordered list of variables which define a vector includes time, 
the space defined by the vector will have time as one of its axes. As time 
progresses the vector will move along the time axis. If none of the other 
variables is time dependent, the trajectory will be a straight line parallel to the 
time axis, as in (a). If any of the other variables change with time, the trajec- 
tory will be some curve with a component along the time axis as in (b). 



Now the weather, like many things, is 
not constant. It varies with time. Each of the 
state variables (temperature, humidity, wind 
speed, and rate of precipitation) is time de- 
pendent. Thus, as time passes, the point 
defined by W' will move through the four- 



14 June 1979 © BYTE Publications Inc 



dimensional space. Figure 2 illustrates the 
locus of the point traced out by W as it 
moves to define a trajectory T w . 

It will often be convenient to represent 
time explicitly in our notation. We can 
easily do this by simply adding one more 
variable, time (t), to our state vector, thus 
increasing by one the number of dimen- 
sions in the space defined by the state 
vector. For example W = (w-| , w 2 , w 3 , w 4 , t). 

As time progresses, any point defined 
by the state vector moves along the time 
axis. A state vector whose Wj components do 
not vary with time will now trace out a 
straight line trajectory, parallel to the time 
axis as shown in figure 3a. If, however, any 
of the Wj components is time dependent, 
the state trajectory will contain velocity 
components that are orthogonal, as well as 
parallel to the time axis, as shown in figure 
3b. 

If we project the state space of all the 
variables except time onto a two-dimensional 
surface, we can represent the passage of time 
by the motion of this two-dimensional plane 
along the time axis normal to it, as in figure 
4. The state trajectory T s is the locus of 
points traced out by the state vector as time 
passes. 

A large variety of things can be repre- 
sented as vectors. For example, we can 
represent an ASCII character as a vector 
(figure 5). The ordered set of binary digits 
in the ASCII representation corresponds to 
the components of a binary vector. Each 
symbol in the ASCII alphabet is uniquely 
paired with a vector in an eight-dimensional 
hyperspace. Each symbol thus corresponds 
to a point in the hyperspace. 

This is an important concept, because it 
allows us to define any set of symbols as 
vectors or points in hyperspace. Any string 
of symbols then becomes a trajectory 
through the hyperspace. For example, the 
string of symbols, "the cat chased the rat," 
can be described as a trajectory through a 
hyperspace defined by any set of variables 
defining the English alphabet (plus a blank 
character). This also applies to the string 
WXYZwhen: 

W is the command: Reach to Position A; 
X is the command: Grasp; 
Y is the command: Move to Position C; 
Z is the command: Release. 

We need not restrict ourselves to binary 
vectors. Symbols may be represented by 
vectors with continuously variable compo- 
nents as well. This allows us to introduce the 
concept of fuzzy symbols. If the hyperspace 
is continuous, then each point which cor- 
responds to a symbol has some neighbor- 



About the Author: 

Dr James S Albus worked for NASA from 1957 to 1972 designing 
optical and electronic subsystems for over 15 spacecraft, and for one 
year managed the NASA Artificial Intelligence Program. Since 1973 he 
has been with the National Bureau of Standards where he has received 
several awards for his work in advanced computer control systems for 
industrial robots. He has written a survey article on robot systems for 
Scientific American (February 1976) and his Cerebellar Model Arith- 
metic Computer won the Industrial Research Magazine IR-100 Award 
as one of the 100 most significant new products of 1975. 




Figure 4: If the vector space defined by all of the vector components except 
time is projected upon a two-dimensional surface, then the passage of time 
can be represented as the movement of the two-dimensional surface along the 
time axis normal to it. 



a= (1,0,0,0,0,1,1,1) 




A= (1,0,0,0,0,0,1,0) 



Figure 5: A vector can represent a symbol. Here two symbols from the 
ASCII character set, an uppercase A and a lowercase a, are represented 
as vectors (or points) in an eight dimensional space. The values of the eight 
bits in the ASCII code are plotted along the eight axes. (b & is the even parity 
bit.) 



June 1979 © BYTE Publications Inc 15 



Figure 6: Each point in 
hyperspace, corresponding 
to a particular symbol 
such as a or e, has some 
neighborhood of points 
around it which are closer 
to it than to any other 
symbol. Variations from 
the exact, or ideal posi- 
tion of a symbol vector 
may derive from noise in 
a transmission channel or 
from differences between 
the observed symbol and 
the ideal. 



EXACT SYMBOL 
a 



EXACT SYMBOL e 



NEIGHBORHOOD OF e 




Figure 7: Functions can be 
expressed in a number of 
different ways. Here the 
functional relationship be- 
tween Y and X is ex- 
pressed as an equation and 
a graph. 



hood of points around it which are much 
closer to it than any other symbol's points. 
This is illustrated in figure 6. We may view 
the points in such a neighborhood in one of 
two ways: 

1. The difference between the neighbor- 
hood points and the exact symbol 
point derives from noise on the chan- 
nel transmitting variables denoting 
the vector components. This is use- 
ful in signal detection theory, where 
the detection of a vector within some 
neighborhood of a symbol vector cor- 
responds to the recognition of that 
symbol against a noisy background. 

2. The difference from the exact symbol 
derives from distortions or variations 
in the symbol itself. This makes the 
best sense if the components of the 
symbol's vector are values of attributes 
or features of the symbol, rather than 
arbitrary digits as in the ASCII con- 
vention. In this case, a neighborhood 
of points corresponds to a cluster of 
feature vectors from a symbol set 
which are not identical, but very 
nearly so. 

For example, a vector of features from the 
printed character e will be slightly different 
for each instance of that symbol on a page 





-21 






-18 






-15 






-12/ 




\ 9 


-/ 






'6 


y = 2x 2 + 3x + 6 


1 1 1 1 


-3 

i 


i i i 



■A -3 -2 -I 



due to variations in the paper on which it is 
printed. However, if these e feature vectors 
fall in compact clusters far from the feature 
vectors of other symbols, the letter e will 
be easily recognized, despite the fact that no 
two specimens are exactly alike. 

This is a fundamental concept in pattern 
recognition theory. Hyperspace is parti- 
tioned into regions, and the existence of a 
feature vector in a particular region cor- 
responds to the recognition of a pattern or 
symbol. By definition, the best set of fea- 
tures is the one that maximizes the separa- 
bility of pattern vectors. In the design of 
pattern recognizers it is important to select 
a set of features which is easily measured 
and which produces widely separated and 
compact clusters in feature space. 

Functions and Operators 

In the physical world, functions are usual- 
ly defined as relationships between physical 
variables. For example, we could say that 
climate over a particular geographical region 
is a function of the heat input, the prevailing 
wind conditions, and other factors, or that 
the seasons are a function of the position 
and orientation of the earth relative to the 
sun. Similarly, we may say that the level of 
hunger we experience is a function of the 
signals on nerve fibers reporting on the state 
of the stomach, chemistry of the blood, the 
time of day as indicated by internal biolog- 
ical rhythms, and so on. 

In mathematics a function defines (and is 
defined by) a relationship between symbols 
that can sometimes be set in one-to-one cor- 
respondence to physical variables. As in the 
physical world, a function usually implies a 
directional relationship (eg: the relationship 
between cause and effect has a direction 
which flows from cause to effect). In tra- 
ditional terms a function may be expressed 
as an equation, such as: 



16 



June 1979 © BYTE Publications Inc 



y = f(x) 

which reads: y equals a function f of x. 
The function: 

y = 2x 2 + 3x + 6 

is a relationship between y and x. 

Functions can also be expressed as 
graphs. Figure 7 is a plot of the equation 
y = 2x 2 + 3x + 6. Functions may sometimes 
be defined by tables. The table in figure 8a 
defines the Boolean AND function Z=X«Y. 
This function can also be drawn as a circuit 
element (see figure 8b) which performs the 
AND function on two inputs. 

Tables can also be used to define non- 
Boolean functions. Tables of logarithms or 
trigonometric functions are good examples 
of this. Of course, a table defines a contin- 
uous function exactly only at the discrete 
points represented in the table. Thus, the 
accuracy of a continuous function repre- 
sented by a table depends on the number 
of table entries (ie: the resolution on the 
input variables). Accuracy can, of course, 
be increased by interpolation techniques. 
In general, the number of entries required 
to compute a function by a table lookup is 
proportional to R N , where R is the resolu- 
tion of each input variable, and N is the 
number of input variables. This exponential 
increase in size of the table required is the 
principal reason that multidimensional func- 
tions are seldom computed by table lookup. 

Modern mathematics often expresses 
functional relationships in terms of mappings 
from a set of states defined by independent 
variables onto a set of states defined by de- 
pendent variables. In one notation, this is 
expressed by the string f : 

f:C— *>E 

which reads, "f is a relationship which maps 
the set of causes C into the set of effects E." 
It means that for any particular state in the 
set C, the relationship f will compute a state 
in the set E. This is shown in figure 9. 

We have already shown that states can be 
denoted by vectors and sets of states by sets 
of points in vector hyperspaces. Thus, the 
notion of a function being a mapping from 
one set of states to another naturally 
extends to a mapping of points in one vector 
hyperspace onto points in another. 

Suppose, for example, we define an oper- 
ator h as a function which maps the input 



5 1> s 2< s 3> 



s N ) onto the output 



scalar variable p. We can write this as: 



P = h (S) 

or 

P = h (s-|, 



x y z 

ooo 

i o 

1 



(a) 



(b) 



z - x«y 



(c) 



Figure 8: Functions can also be expressed as tables and circuits. Here the 
Boolean function Z = X ' Y is expressed as a table, a circuit, and an equation. 




SET OF EFFECTS 



Figure 9: A function can also be expressed as a mapping from one set onto 
another. Here the function F maps the set of causes C onto the set of effects 
E such that for every cause in C there is an effect in E. In our discussion we 
will be concerned only with single valued functions such that there is only 
one effect for each cause. We will, however, allow more than one cause 
to have the same effect (ie: more than one point in C can map onto the 
same point in E). 



Figure 10: We will define 
the operator h as a func- 
tion which maps the input 
vector S into the output 
scalar variable p. 



S s 




s < 

















»• 








h 3 


' -p 


S| <£— 




h 2 


-p 3 / 

p 2 / p 


S N <S— 




"1 






•" Pi 





,.s N ) 



Figure 11 : We will define the set of operators H = (h., h~ . . . hj as a func- 
tion which maps the input vector S into the output vector?. 



lune 1979 © BYTE Publications Inc 17 





however. Of course, if any of the variables 
in S are time dependent, S will trace out a 
trajectory T s through input space. The oper- 



Figure 12: The operator H maps every input vector S in input space into an 
output vector P in output space. H thus maps the trajectory T into the 
trajectory T . 

We can also draw the functional operator 
as a circuit element or "black box" as in 
figure 10. (A black box is an engineering 
concept sometimes used to depict a process 
with inputs and outputs. The viewer sees the 
effects on the output of changes to the 
input, but the internal workings of the 
process remain hidden in a black box.) 

If we assume that we have L such oper- 
ators, h-|, h 2 , . . . h L , each operating on the 
input vector S in figure 11, we have a map- 
ping: 

H:S^PorP=H (S) 

where the operator H = (h-,, h 2 , . . . h L ) 
maps every input vector S into an output 
vector P. Now since S is a vector (or point) 
in input space and P is a vector (or point) in 
output space, we can represent the function 
H as a mapping from input space onto 
output space, as shown in figure 1 2. 

For the purposes of our discussion we 
require that both the input and output space 
be bounded and that each S will map into 
one and only one P. Several different S 
vectors may map into the same P vector, 



ator H will map each point S on T s into a 
point P on a trajectory T p in output space. 

Goal Seeking Control Systems 



We are now ready to consider the struc- 
ture of control systems for sensory inter- 
active, goal directed behavior. The simplest 
form of goal seeking device is the servo- 
mechanism. The setpoint, or reference 
input to the servomechanism, is a simple 
form of command. Feedback from a sensing 
device, which monitors the state of the out- 
put or the results of action produced by the 
input, is compared with the command. If 
there is any discrepancy between com- 
manded action and the results, an error 
signal is generated which acts on the out- 
put in the proper direction and by the prop- 
er amount to reduce the error. The system 
thus follows the setpoint, or, put another 
way, it seeks the goal set by the input 
command. 

Now almost all servomechanism theory 
deals with a one-dimensional command, 
a one-dimensional feedback, and a one- 
dimensional output. Our vector notation 
will allow us to generalize from this one- 
dimensional case to the multidimensional 
case with little difficulty. 

Assume we have the multivariable servo- 
mechanism shown in figure 1 3. The function 
H operates on the input variables in S and 
computes an output P = H(S). Note that we 
have partitioned the input vector S into 
two vectors: C= (sj , s 2 . . ., s,, . . ., 0) and 
F = (0, ...0, s i+1 , ...s N );such that S = C+F. 
If i = 1 , N = 2, L = 1 , and H computes some 
function of the difference between C and F, 
we have a classical servomechanism. 

In our more general case C may be any 
vector, and in some cases it may be a sym- 



Figure 13: A multivariable 
servomechanism. The ref- 
erence, or command input 
is the vector C consisting 
of the variables Sj thru s» 
The feedback is the vector 
F consisting of sensory 
variables s, +? thru S/y. The 
function H computes an 
output vector P consisting 
of Pj thru Pi which drive 
actuators and thus affect 
the physical environment. 



s < 







H 


P 












ACTUATORS 






) 










— w 








SENSORS 






FEEDBACK 


















18 



lune 1979 © BYTE Publications Inc 






1 fl ■ 1 


wii 


! 1 


H ^r ' fl 


^T^N 


Hb^ ' H 


^^J 




?» 







How to tor 
ersonal compi 



/m California, a store owner charts sales on his Apple 
Computer. On weekends though, he totes Apple home to help 
plan family finances with his wife. And for the kids to explore 
the new world of personal computers. 

A hobbyist in Michigan starts a local Apple Computer 

Club, to challenge other members to computer 
games of skill and to trade programs. 

Innovative folks everywhere 
have discovered that the era of the 
personal computer has already 
—. begun — with Apple. 
(U Educators and students use 
Apple in the classroom. Business- 
men trust Apple with the books. 
Parents are making Apple the newest 
family pastime. And kids of all ages 
are finding how much fun computers can 
be, and have no time for TV once they've discovered Apple. 

Visit your local computer store 

The excitement starts in your local computer store. It's a 
Circle 15 on inquiry card. 




friendly place, owned by one of your neighbors. He'll show 
you exactly what you can use a personal computer for. 

What to look for 

Your local computer store has several different brands 
to show you. So the salesman can recommend the one that 
best meets your needs. Chances are, it will be an Apple 
Computer. Apple is the one you can program yourself. So 
there's no limit to the things you can do. Most important, 
Apple's the one with more expansion capability. That 
means a lot. Because the more you use your Apple, the 
more uses you'll discover. So your best bet is a personal 
computer that can grow with you as your skill and 
involvement grow. Apple's the one. 

It's your move 

Grab a piece of the future for yourself. Visit your local 
computer store. We'll give you the address of the Apple 
dealer nearest you when you call our toll-free number. 
Then drop by and sink your teeth into an Apple. 
800-538-9696. In California, 800-662-9238. 





Figure 14: A stationary C vector establishes a setpoint, and as time progresses 
the feedback vector varies from F' to F 2 to F 3 . The S vector thus traces out a 
trajectory J s . The H operator computes an output P for each input Sand so 
produces an output trajectory T p The result is that the input command C is 
decomposed into a sequence of output subcommands P' ', P 2 , P 3 . 




Figure 75: If the command vector C also changes from time to time, it will 
trace out a trajectory T 



bolic command. The feedback vector may 
contain information of many different types. 
It may simply report position or velocity of 
the controlled outputs, but for a compli- 
cated system such as a robot manipulator or 
the limb of an animal, it may also report 
the resistance to movement by the environ- 
ment, the inertial configuration of the 
manipulator structure, and other parameters 
relevant to the problem of making rapid and 
precise movements. 

Figure 14 illustrates the situation when a 
stationary command vector C establishes a 
setpoint, and as time progresses the feedback 
vector F varies, creating an input trajectory 
T s . The H operator computes an output 
vector for each input and so produces an 
output trajectory T p . The variation in F 
may be caused by external forces imposed 
by the environment, or by actions produced 
by the output, or both. One or more of the 
variables in the feedback vector F may even 
be taken directly from the output vector 
P. In the latter case the H operator becomes 
the transition function for a finite state 
automaton. In any of these cases the result 
is that a single command vector C produces 
a sequence of output vectors T The pro- 
cess is driven by the sequence of feedback 
vectors F 1 , F 2 , F 3 . The superscript F k 
denotes the vector F at time t k . 

The sequence of operations illustrated in 
figure 14 can also be viewed as a decomposi- 
tion of a command C into a sequence of sub- 
commands P 1 , P 2 , P 3 . The vector C may be 
a symbol standing for any number of things 
such as a task, a goal, or a plan. In such 
cases the output string P 1 , P 2 , P 3 represents 
a sequence of subtasks, subgoals, or subplans, 
respectively. 

Whether figure 14 is a servomechanism 
or a task decomposition operator, there are 
many practical problems concerned with 
stability, speed, gain, delay, phase shift, etc. 
In our notation these are all embedded in 
the H functions. If the H functions are 
correctly formulated and defined over the 
entire space traversed by the S input, then 
the output T P will drive the physical actua- 
tors in such a way that the goal is achieved 
(ie: the error between the command C and 
the result P is nulled) and stability is main- 
tained under all conditions. 

Servomechanisms are, of course, only the 
simplest form of sensory interactive, goal 
seeking devices. By themselves they are cer- 
tainly not capable of explaining the much 
more complex forms of goal seeking com- 
monly associated with purposive behavior 
in biological systems. However, when con- 
nected together in a nested (or hierarchical) 
structure, the complexity of behavior 
in feedback control systems increases 
dramatically. 



20 June 1979 © BYTE Publications Inc 



Hierarchical Control 

Assume that The command vector C in 
figure 14 changes such that it steps along 
the trajectory T c as shown in figure 1 5. The 
result is that the sequence of input com- 
mands C 1 , C 2 , C 3 , followed by the sequence 
C 4 , C 5 produces the sequence of output 
vectors P 1 , P 2 , P 3 , P 4 , P 5 . In this case the 
subsequence P 1 , P 2 , P 3 , is called by the 
commands C 1 , C 2 , C 3 and driven by the 
feedback F 1 , F 2 , F 3 . The subsequence 
P 4 , P 5 is called by C 4 , C 5 and driven by 
F 4 ,F 5 ,etc. 

If we now represent time explicitly, the 
C, F, and P vectors and trajectories of 
figure 15 appear as shown in figure 16. The 
fact that C remains constant while the feed- 
back changes from F 1 to F 2 to F 3 means 
that the trajectory T c is parallel to the time 
axis over that interval. The jump from C 1 , 
C 2 , C 3 to C 4 , C 5 causes an abrupt shift 
in the T c trajectory in the time interval 
between F 3 and F 4 . 

Note that each instant can be represented 
by a plane (or set of coplanar regions) perp- 
endicular to the time axis. Each plane con- 
tains a point from each trajectory and rep- 
resents a snapshot of all the vectors simul- 
taneously at a specific instant in time. 

We are now ready to consider a hierarchy 
of servomechanisms, or task decomposition 
operators, as shown in figure 17a. Here the 
highestlevel input command C 4 is asymbolic 
vector denoting the complex task (ASSEM- 
BLE AB). Some of the components in C 4 
may denote modifiers and arguments for the 
assemble task. The subscript C k denotes the 
C vector at the k th level in the hierarchy. 

Note that in figure 17 vectors are not 
repeatedly drawn for each instant of time 
during the trajectory segments, when they 
are reasonably constant. Thus, C 4 is shown 
only at the beginning and end of the tra- 
jectory segment labeled (ASSEMBLE AB). 
C 2 is shown only at the transition points 
between (REACH to A), (GRASP), (MOVE 
TO C), etc. It should be kept in mind, 
however, that H 4 computes P 4 continuously 
and produces an output at every instant of 
time, just as H 1 computes P-, . 

The feedback F 4 may contain highly 
processed visual scene analysis data which 
identifies the general layout of the work 
space, and thereby determines which output 
vectors P 4 (and hence which simple task 
commands C 3 ) should be selected and in 
which order. F 4 may also contain data from 
P 4 and P 3 which indicates the state of com- 
pletion of the decomposition of C 4 . F 4 
combines with C 4 to define the complete 
input vector S 4 . The H 4 operator produces 
an output vector P 4 = H 4 (S 4 ). 

Text continued on page 24 




Figure 16: When time is represented explicitly, the vectors and trajectories of 
figure 15 become as shown here. In this example, the C vector remains 
constant from time t = 1 to t = 3 and then jumps to a new value for t = 4 and 
t= 5. 



computer mart of new jersey 
computer mart of Pennsylvania 



rm th * 

I k ▼ i microcomputer 
li^JJ people® K 

Computers don't moke o 
computer store, PEOPLE do. Our 
people hove been involved with 
microcomputers since day one. 
We offer experience and 
expertise unparalleled in the 
microcomputer industry. Whether 
you are in the market for a 
complete system, peripherals, 
custom software, service, or just 
some friendly advice; there simply 
is no other place to go. 



Computet Matt of Now Joftoy 

304 Routo 27 
iMlln. HJ 08800 
(201) 280-0600 



STORE HOURS 
Tim. - Sat. 10am • 6pm 
Tuot. 6 Thutt. 'till 9pm 
CLOSED MONDAYS 



Computet Mart of P»nniylvanla 

330 DoKalb Pike 
KlnoofPnmla. PA 19406 
(213)263-2380 



Circle 66 on inquiry card. 



June 1979 © BYTE Publications Inc 21 



We've worked like mad to 




■•• - 1 






cook up all your favorites. 






■MHBNHnn 



I " I • I 

i 



f^ 



f 



Now, we're cooking. Our boys in the lab have turned 
circuit chefs these past three months to create a smorgas- 
bord of deliciously assembled boards to support your 
APPLE lit TRS-80* or S-100 bus systems. Feast your eyes 
on our monstrous selection in the menu below. Then, order 
enough to satisfy your hunger for experimentation for 
months to come. Contact your local computer store, or call 
us direct. Bon appetit! 

California Computer Systems 

309 Laurelwood Road -Santa Clara, CA 
(408)988-1620-95050 

So Nobody Goes Away Mad. 



5 



r 



►v 



f 



f 



m **om ° w cac 'es 

7740 APp] * RUp T<tehL CN *8LE °"e, s ' 

baS^^wog.---:--. er,a/ 

oaua ra . a, unnc n ' " ' ■ ■ 
39,s ' e ^ frart Wce - Wra ''oo... 

'sterol. / raa efnar/,_. .. 



4 £« 



7470 ,^ E3 „. D . 

to -°''9»'fafo '9" Sen a 

r e, efence ""Cra.og ,„:.;•■... $1 . o 



7S90 Aptf? Wtr * IVran ft ' *• 

7570 imOT 80 ^ ■ 



«2t.00 



St 00 8u<5c 



•■*»«>LO0 



-^ s , ere ^a a 

,aran ayCo 



•Circle 37 on inquiry card. 



C °PPer Pi- J U ' OWn <> „" 



fE lune 1979 23 



Text continued from page 21: 

At least part of the output P 4 becomes 
part of the input command vector C 3 to the 
next lower level. C 3 is also a symbolic vector 
which identifies one of a library of simple 
task commands together with the necessary 
modifiers and arguments. As the feedback 
F 4 varies with time, the input vector S 4 , 
and hence the output vector P 4 , move along 
a trajectory generating a sequence of simple 
task commands at C 3 such as (FETCH A), 
(FETCH B), (MATE B TO A), (FASTEN B 
TO A), etc. as shown in figure 1 7b. 

Feedback at F 3 may identify the position 
and orientation of the parts A and B, and 
also carry state sequencing information from 
outputs P 3 and P 2 . As F 3 varies with time, it 
drives the input S 3 (and hence P 3 ) along a 
trajectory generatinga sequence of elemental 
movement commands at C 2 such as 
(REACH TO A), (GRASP), (MOVE TO C), 
(RELEASE), etc. 

Feedback at F 2 may contain information 
from proximity sensors indicating the fine 
positioning error between the fingers and the 
objects to be manipulated, together with 
state sequencing information derived from 
P 2 and ?-\ . The operator H 2 produces P 2 , 
which denotes the proper velocity vectors 
C] for the manipulator hand in joint angle 
coordinates. 

Feedback F 2 also provides joint angle 
position data necessary for the coordinate 
transformations performed by H 2 . P 2 
provides reference, or setpoint commands, 
C 1 to the servomechanism operator H^ 
F-| provides position, velocity, and force 
information for the traditional servocom- 
putations. The output P 1 is a set of drive 
signals to the actuators. 

Feedback enters this hierarchy at every 
level. At the lowest levels, the feedback is 
unprocessed (or nearly so) and hence is fast 
acting with very short delays. At higher 
levels, feedback data passes through more 
and more stages of an ascending, sensory 
processing hierarchy. Feedback thus closes 
a real time control loop at each level in the 
hierarchy. The lower level loops are simple 
and fast acting. The higher level loops are 
more sophisticated and slower. 

At each level the feedback vector F 
drives the output vector P along its trajec- 
tory. Thus, at each level of the hierarchy, 
the time rate of change of the output vector 
Pj will be of the same order of magnitude as 
the feedback vector F j; and considerably 
more rapid than the command vector Cj. 
The result is that each stage of the behavior 
generating hierarchy effectively decomposes 
an input task represented by a slowly chang- 
ing Cj into a string of subtasks represented 
by a more rapidly changing P|. 



At this point we perhaps should em- 
phasize that the difference in time rate of 
change of the vectors at various levels in 
the hierarchy does not imply that the H 
operators are computing slower at the higher 
levels than at the lower. We will, in fact, 
assume that every H operator transforms 
S into P with the same computational delay 
At at all levels of the hierarchy. That is: 

P,(t) = H i (S i (t-At))orPf = H,(S l k - 1 ) 

at every level. The slower time rate of 
change of P vectors at the higher levels 
stems from the fact that the F vectors driv- 
ing the higher levels convey information 
about events which occur less frequently. In 
some cases certain components of higher 
level F vectors may require the integra- 
tion of informaion over long time intervals 
or the recognition of symbolic messages 
with long word lengths. 

When we represent time explicitly as in 
figure 17, we can label the relatively straight 
segments of the T c trajectories as tasks and 
subtasks. Transitions between the subtasks 
in a sequence correspond to abrupt changes 
inT c . 

If we do not represent time explicitly, 
the relatively constant C vectors corre- 
spond to nodes, as in figure 15. The result- 
ing tree structure represents a classical 
AND/OR decomposition of a task into 
sequences of subtasks, where the discrete 
Cj vectors correspond to OR nodes and 
the rapidly changing sequences of Pj 
vectors become sets of AND nodes under 
those OR nodes. 

Intentional or Purposive Behavior 

Figure 17 illustrates the power of a 
hierarchy of multivariant servomechanisms 
to generate a lengthy sequence of behavior 
which is both goal directed and appropriate 
to the environment. Such behavior appears 
to an external observer to be intentional, 
or purposive. The top level input command 
is a goal, or task, which is successively 
decomposed into subgoals, or subtasks, 
at each stage of the control hierarchy 
until at the lowest level output signals 
drive the muscles (or other actuators) 
producing observable behavior. 

To the extent that the F vectors at the 
various levels contain sensory information 
from the environment, the task decomposi- 
tions at those levels will be capable of re- 
sponding to the environment. The type of 
response to each F vector depends on the H 
function at that level. If the F vector at any 
level is made up solely of internal variables, 
Text continued on page 28 



24 June 1979 © BYTE Publications Inc 



s&0 








I jZ& [ 





784/612 

MICROPROCESSOR 

ARCHITECTURE 

AND 

PROGRAMMING 

by W. F. Leahy 

Pub. price. $19,95 
Club price, $14.95 



786/380 

FUNDAMENTALS OF 
COMPUTER 
ALGORITHMS 

by E. Horowitz & 
S. Sahni 

Pub. price. $19.95 
Club price, $15.95 



491/380 

MICROCOMPUTER- 
BASED DESIGN 

by J. Peatman 

Pub. price, $26.50 
Club price. $18.95 



784/71 X 
MINIPROCESSORS 

by D. Heiserman 

Pub. price, $9.95 
Club price, $8.45 



769/664 
ALGORITHMS + 
DATA STRUCTURES 
= PROGRAMS 

by N. Wirth 

Pub. price, $19.95 
Club price, $15.50 

771/499 
MICRO- 
COMPUTERS / 
MICRO- 
PROCESSORS: 
Hardware, Software 
and Applications 

by J. L. Hilburn& 
P. N. Julich 

Pub. price, $22.50 
Club price, $16.50 



introductory oiler 
to new members ot the 

COMPUTER PROFESSIONALS' 
DOOK CLUB 



any two 

of these great 

professional books 

for only 



values up 
to $69.95 



Two special bonus books come to you 
for $2.95 with your first club selection 

Books are selected from a wide range of publishers 

Be sure to consider these books as well — 



784/701 

DATA BASE 

SYSTEMS: 

Design, 

Implementation, and 

Management 

by R. G. Ross 

Pub. price, $19.95 
Club price. $16.96 



785/49X 
PROGRAMMING 
FOR MINI- 
COMPUTERS 

byJ.C. Cluley 

Pub. price, $17.50 
Club price. $13.50 



273/634 
COMPUTER 
ARCHITECTURE & 

ORGANIZATION 

by J. Hayes 

Pub. price, $23.50 
Club price, $17.50 



784/914 

THE Z 60 MICRO- 
COMPUTER 
HANDBOOK 

by W. Barden, Jr. 

Pub. price, $8.95 
Club price, $7.60 



168/075 
AUTOMATIC DATA 
PROCESSING 
HANDBOOK 

Edited by The 
Diebold Group, 
Inc. 

Pub. price, $34.95 
Club price, $23.75 



701/30X 

DATA BASE DESIGN 

by G. Wiederhold 

Pub. price, $24.50 
Club price, $18.25 



435/278 

MICROPROCESSOR 
APPLICATIONS 
MANUAL 

by Motorola, Inc. 

Pub. price, $35.00 
Club price. $25.00 

786/496 
ANALOG SYSTEMS 
FOR MICRO- 
PROCESSORS AND 
MINICOMPUTERS 
by P. H. Garrett 

Pub. price, $18.95 
Club price, $14.95 

783/845 

THE 8080A BUGBOOK 

MICROCOMPUTER 

INTERFACING AND 

PROGRAMMING 

by P. R. Rony, D. 
G. Larsen & J. A. 
Titus 



0tO*#* 




Pub. price, 
Club price, 



$9.95 
$8.45 



785/058 
MICRO-ANALYSIS 
OF COMPUTER 
SYSTEM 
PERFORMANCE 
by B. Beizer 

Pub. price, $22.50 
Club price, $17.25 



Data 







save time and money 
by joining McGraw-Hill's 

COMPUTER PROFESSIONALS' 
BOOKCLUB 



THIS professional club is designed to meet your day-to-day on-the-job needs 
by providing practical books in your field on a regular basis at below publisher 
prices. If you're missing out on important technical literature— if today's high cost 
of reading curbs the growth of your library— here's the solution to your problem. 

The Computer Professionals' Book Club was organized for you, to provide an 
economical reading program that cannot fail to be of value. Administered by 
the McGraw-Hill Book Company, all books are chosen by qualified editors and 
consultants. Their understanding of the standards and values of the literature in 
your field guarantees the appropriateness of the selections. 

How the Club operates: Thirteen times a year you receive free of charge The 
Computer Professionals' Book Club Bulletin. This announces and describes the 
Club's featured book of the month as well as alternate selections available at 
special members' prices. If you want to examine the Club's feature of the month, 
you do nothing. If you prefer one of the alternate selections— or if you want no 
book at all— you notify the Club by returning the card enclosed with each Bulletin. 

As a Club Member, you agree only to the purchase of four books (including 
your first selection) over a two-year period. Considering the many books published 
annually, there will surely be at least four you would want to own anyway. By 
joining the club, you save both money and the trouble of searching for the best 
books. 



MAIL THIS COUPON TODAY 

COMPUTER PROFESSIONALS' Book Club 

P.O. Box 582, Hightstown, New Jersey 08520 
Please enroll me as a member and send me the three books indicated I am lo receive the 
[wo bonus books al the introductory price of $2.95 plus my first selection, plus tax 
postage, and handling. II not completely satisfied. I may return the books within 10 days 
and request thai my membership be cancelled. I! I keep the books. I agree to lake a 
minimum ol three additional books during the next two years al special Club prices 
(guaiameed 15% discount, often more). I will receive [he Club Bulletin 13 limes a year. Ill 
want to examine Ihe featured selection. I need take no aclion. It will be shipped automati- 
cally It . however, I want an alternate selection — or no book at all — I simply notify the Club 
by returning the convenient card always enclosed. I will always have a minimum of 10 days 
in which lo return Ihe card and you will credit my account fully, including postage, il this is 
not the case Membership in the club is continuous bui cancellable by me at any time after 
Ihe tour-book purchase requirement has been tilled Jhis order subject to acceptance by 
McGraw-Hill Orders Irom outside Ibe continental US must be prepaid Company, 
business, or institutional tax exemption status is nolapplicable to purchases made througb 
individual Club memberships All prices subject to change without notice Oiler good tor 
new members only A shipping and handling charge is added to all shipments Members 
are billed when books arrive. 

Write Code # of 1st Write Code # ol 2nd Write Code # ol 1st 

bonus book selection here bonus book selection here book selection here 



Address 


City 

EXTRA SAVINGS 

and McGraw-Hill 


Remit 
will pay 


n lull with 
all regular 


State Zip 

your order, plus any local and stale tax, 
postage and handling charges. p„__y„ 



BYTE June 1979 



25 




* -5 



-i2 <u 

a s 

o « 

-O a> 



.C 53 



5 

I 



c S 
8i ? 



s I 

C: to 






U c 

S 8 
S .5 



4! | 



£ 



<D 



o 

_J3 



a 
-§ 

•a: 
u 
a 

=§ 

«S 

IS 

■Si 

X g 



Sa. 






» _£• 

o c 

Q S 



50 

Q.-U: 
o ja 



1/5 ? 

9 o 

&^ 

"a b 



.o 

o 
a 



! 

•Si 



jo Uj 
■IS 



SE 3C 



■5 < 

^ • 
o 

C; - 
O 



<u 



8 -5 

T3 O 



26 lune 1979 © BYTE Publications Inc 



IVe finally found a personali: s t nots f upr ising 

/ _ ET that professionals 

f*fYfYt 7YI lftf*l* II 'i*tf*ft'i^#*f*'i" 8 et excited about the Compucolor II. It's 
VAMJAJJWI**!. 11C3UCWI# a totally-integrated 8080A system 

m f~\tw*\n*g~+g^\M{^\+* I with full color graphics display, built-in 5 IK mini- 
^•UM.l.M,lj m^%M&J M, M.M.* t ] j s k drive, and the best cost performance ratio 
available in a personal computer. 

The complete system is only S 1495.* And that price includes 8K user RAM, RS-232C 
compatibility and random access file capabilities. 

Our 8 foreground and background colors will boost your comprehension, while 
introducing you to an exciting new dimension in BASIC programming. The vector graphics 
have 16,484 individually-accessible plot blocks. And the 13" diagonal measure screen gives 
you 32 lines of 64 ASCII characters. You also have the flexibility that comes with 16K 
Extended Disk BASIC ROM. 

Compucolor II offers a number of other options and accessories, like a second disk 
drive and expanded keyboard, as well as expandability to 32K of user RAM. Of course we 
also have a whole library of low-cost Sof-Disk™ programs, including an assembler and 
text editor. 

Visit your nearest computer store for details. And 
while you're there, do some comparison testing. With all 
due respect to the ■ - , 

others, once you see it, 
you'll be sold on the 

compucolor ii. L I Corporation 



STflKBStl' 

mli 
Kkt" 

TORPSMES 
KLIHCOKS 



ST* WTE ? »« 




i ^ffiHn 









Compucol 



Circle 50 on inquiry card. 



BYTt lune 1979 27 




Figure 18: Around each trajectory representing an ideal task performance 
there exists an envelope of nearly ideal trajectories which correspond to suc- 
cessful, but not perfect, task performance. If the H functions are defined 
throughout these envelopes so as to drive the system back toward the ideal 
whenever it deviates, then the trajectory will be stable and task performance 
can be successful despite perturbations and unexpected events. 




Figure 19: If the H functions at the lower levels are sufficiently well defined, 
small perturbations from the ideal performance can be corrected by low 
level feedback without requiring any change in the command from higher 
levels. 




Figure 20: If the lower level H functions are not adequately defined, or if 
the perturbations are too large for the lower level to cope, then feedback to 
the higher levels produces changes in the task decomposition at a higher level. 
The result is an alternative strategy. 



Text continued from page 24: 
then the decomposition at that level will be 
stereotyped and insensitive to conditions in 
the environment. 

Whether or not the hierarchy is driven by 
external or internal variables, or both, the 
highest level input command commits the 
entire structure to an organized and coor- 
dinated sequence of actions which under 
normal conditions will achieve the goal 
or accomplish the task. The selection of a 
high level input command in a biological 
organism thus corresponds to an intent 
or purpose, which, depending on circum- 
stances, may or may not be successfully 
achieved through the resulting hierarchical 
decomposition into action. 

Obtaining Successful Performance 

The success or failure of any particular 
task performance, or goal seeking action, 
depends on whether or not the H functions 
at each level are capable of providing the 
correct mappings so as to maintain the 
output trajectory within a region of success- 
ful performance, despite perturbations and 
uncertainties in the environment. 

At all levels, variations in the F vectors 
due to irregularities in the environment 
cause T s trajectories to vary from one task 
performance to the next. This implies that 
while there may exist a set of ideal trajec- 
tories through S and P space at each level 
of the hierarchy corresponding to an ideal' 
task performance, there also must be an en- 
velope of nearly ideal trajectories which cor- 
respond to successful, but not perfect, 
task performance. This is illustrated in 
figure 18. 

The H functions must not only be de- 
fined along the T s trajectories corresponding 
to ideal performance, but also in the regions 
around the ideal performance. Consequently, 
any deviation from the ideal is treated as an 
error signal which generates an action de- 
signed to restore the actual trajectory to 
the ideal, or at least to maintain it within 
the region of successful performance. 

Small perturbations can usually be cor- 
rected by low level feedback loops, as shown 
in figure 19. These involve relatively little 
sensory data processing, and hence are fast 
acting. Larger perturbations in the environ- 
ment may overwhelm the lower level feed- 
back loops, and require strategy changes at 
higher levels in order to maintain the system 
within the region of successful performance. 
This is illustrated in figure 20. Major changes 
in the environment are detected at higher 
levels after being processed through several 
levels of pattern recognizers. This produces 
differences in the F vector at the higher level 



28 



June 1979 © BYTE Publications Inc 



Graphics for small systems 
were too expensive... 



HIM 



TM 



Until Now 



digital plotters 



The perfect smell system output device 

• Displays data in easy to read graphical 
format 

• Both serial and parallel inputs built-in 

• Uses standard 8V2" x 11" paper 

• Plotting speed up to 2.4 ips 

• Resolution of both 0.01 and 0.005 in. 

• Baud rate and step size easily changed 

• Completely assembled and ready to use 

• Priced at $1085* 




digitizers 




The perfect small system Input device 

• Resolution and repeatability of 0.005 in. 

• Origin is completely relocatable 

• RS232C and 8 bit parallel interface se- 
lectable at the connector 

• Accuracies of ±0.015 in. (0.4mm) 

• Optional LC display shows 

actual values being inputted 

• Digitizing surface 11" x 11" 

• Priced at $795* 



nm osa 




(Optional LC display) 






HUliuiV 




'> 




? 



•U.S. Domestic Price Only 

TM Trademark of Houston Instrument 



For rush literature requests 

or local sales office Information only, 

persons outside Texas call toll free 1-800-631-5205. 



Houston 

{instrument 

ONE HOUSTON SQUARE 
(512) 837-2820 

"the graphics - recorder company" 



DIVISION OF MUSCH&LOMa® 

AUSTIN, TEXAS 78753 
TWX 910-881-2022 



ciiDnncAki rtcciPC Rochesterlaan 6 8240 Glstel Belgium 
tUHOf-'tAN UrMOfc phone 059/277445 Telex Baueoh 81399 



Circle 171 on Inquiry card. 



BYTE June 1979 29 



Figure 21: The command 
and control hierarchy pro- 
posed by Tinbergen to 
account for the behavior 
of the male 3 spined 
stickleback fish. The heavy 
line indicates the particular 
type of behavior vector 
actually selected by the 
feedback shown at the 
various levels of the hierar- 
chy on the left. This 
figure represents a snapshot 
in time corresponding to 
one of the two-dimensional 
surfaces shown in fig- 
ure 16. 



HORMONES 



6 \ REPRODUCTION 




STRANGER 
THREATENS 



THREATEN 




/ I \ 
' I v 



CARE FOR 
YOUNG 



/ I \ / I * V / / I ^ N / \ 



























in 














































, 1 














































<i 




H 










































? 




f/i 














































UJ 


















UJ 


UJ 


< 

111 






\- 




UJ 






UJ 

o 




o 








Q: 

UJ 

> 




_i 




CD 

UJ 


o 
a: 


13 
O 


< 


K 




•!■- 


ifi 




ic 






z 




«a 




CJ 






I'- 




2 




(/) 




I 




III 




< 1 


, 1 




■J 




hi 




X 




D 




ll! 








UJ 


U 
' \ 

1 I 


m 


■T< 




O 
/ \ 


1 I 




00 

/ v 

/ 1 

\ 


C0 

/ \ 




O 

1 » 
/ \ 




_i 
/ \ 




HI 

1 1 




o 




U_ 

1 1 

1 \ 




U. 
\ 


(3 

1 \ 
1 * 
| \ 


a: 

/ » 
/ \ 



which in turn produces different C vectors 
to lower levels. The result is an alternative 
higher level strategy to cope with the 
perturbation. 

Of course, if the H functions do not pro- 
vide stability, or if the environment is so 
perverse that the system is overwhelmed, 
then the trajectories diverge from the re- 
gion of successful performance and failure 
occurs. 

Over-learned tasks correspond to those 
for which the H functions at the lower 
levels are sufficiently well defined over 
a large enough region of input space so as 
to maintain the terminal trajectory well 
within regions of stability and success with- 
out requiring intervention by the higher 
levels for strategy modification. Thus, a 
highly skilled and well-practiced performer, 
such as a water skier, can execute extremely 
difficult maneuvers with apparent ease 
despite large perturbations such as waves. 
His lower level H functions are well defined 
over large regions of space corresponding 
to large perturbations in the environment. 
He is thus capable of compensating for 
these perturbations quickly and precisely 
so as to maintain successful performance 
without intervention by higher levels. Such 
a performance is characterized by a mini- 
mum amount of physical and mental effort. 

We say, "He skis effortlessly without even 
thinking." What we mean is that his lower 
level corrections are so quick and precise 
that his performance never deviates signifi- 
cantly from the ideal. There is never any 
need for higher level loops to make emer- 
gency changes in strategy. On the other 
hand, a novice skier (whose H functions are 
poorly defined, even near the ideal trajectory, 
and completely undefined elsewhere) may 
have great difficulty maintaining a successful 



performance at all. He is continually forced 
to bring higher levels into play to prevent 
failure, and even the slightest perturbation 
from the ideal is likely to result in a watery 
catastrophe. He works very hard, and fails 
often, because his responses are late and 
often misdirected. His performance is erratic 
and hardly ever near the ideal. 

However, practice makes perfect, at 
least in creatures with the capacity to 
learn. Each time a trajectory is traversed, 
if there is some way of knowing what 
mistakes were made, corrections can be 
made to the H functions in those regions of 
input spaces which are traversed. The 
degree and precision of these corrections, 
and the algorithm by which they are com- 
puted, determine the rate of convergence 
(if any) of the learning process to a stable 
and efficient success trajectory. 

There are many interesting questions 
about learning, generalization, and the 
mechanisms by which H functions are 
created and modified at the various hierarchi- 
cal levels in biological brains. However, we 
will defer these issues until part 2 (July 
1979 BYTE). 

Task Decomposition and Goal Seeking 

Note that figure 17 illustrates only a 
single specific performance of a particular 
task. None of the alternative trajectories 
which might have occurred under different 
circumstances with a different set of F vec- 
tors are indicated. These alternatives which 
might have occurred can be illustrated in 
the plane orthogonal to the time axis. 

Figure 21 illustrates the set of alterna- 
tive C vectors available at various levels in 
the behavior-generating hierarchy of the 
male 3 spined stickleback fish. This figure 



30 



June 1979 © BYTE Publications Inc 





New easy-to-use educational module. 

^bur best ticket to the microprocessor world. 

Ideal for teaching.lfourself . Or others. 



TPs new TM990/189 University 
Module is a stand-alone learning 
lab. Fully assembled and designed 
for maximum hands-on experience. 
To ease and simplify learning and 
teaching. 

Outstanding features include 
powerful 16-bit microprocessor 
with easy-to-learn, easy-to-use 
minicomputer instruction set; 45- 
key alphanumeric keyboard and 
ten-digit seven-segment display 
for easy assembly-language pro- 
gramming; ROM-resident software 
including system monitor for pro- 
gram debug and symbolic assem- 
bler; audio cassette interface; 
easy-to-add EIA and TTY inter- 
face; lK-byte RAM expandable to 
2K; 4K-byte ROM and 2K-byte 
expansion EPROM socket; 16-bit 



programmable I/O controller; user 
addressable LEDs, and sound 
indicator. 

A 570-page tutorial text accom- 
panies the module. It is a detailed 
guide for self-paced learning. Or 
the basis for a three-hour univer- 
sity course. Chapters include an 




overview of microprocessors; pro- 
gramming exercises; assembly 
language; memory systems; I/O 
concepts and designs; software 
engineering; productdevelopment; 
a variety of lab experiments, and 
much more. Also with the module: 
a 300-page user's guide. 

The University Module complete 
with tutorial text and user's guide 
is only $299.00. 

Order your University Module 
from your authorized TI distrib- 
utor. For more information, write 
Texas Instruments Incorporated, 
P.O. Box 1443, M/S 6404, Houston, 
Texas 77001. 



TM990/51 9 power supply is available for $65.00. 



TEXAS INSTRUMENTS 

MOVING AHEAD 
IN MICROCOMPUTERS 




IP 



Circle 266 on inquiry card. 

© 1979 Texas Instruments Incorporated 



Texas Instruments 



INCORPORATED 



represents a snapshot, or single cut through 
space orthogonal to the time axis. C 4 , the 
highest level goal, is survival. The feedback 
F 4 consists of variables indicating water 
temperature and depth, blood chemistry, 
and hormone levels generated by length of 
day detectors. When the hormone levels 
indicate the proper time of year and the 
blood chemistry does not call for feeding 
behavior, then migratory behavior will be 
selected until warm, shallow water is de- 
tected. The F 4 vector will then trigger the 
reproduction subgoal. 

When C 3 indicates (REPRODUCTION), 
an F 3 vector indicating a red male in the 
territory will cause the (FIGHT) command 
to be selected to C 2 . When C 2 indicates 
(FIGHT) and the intruder threatens, a C 1 
will be selected, and so on. At each level, 
a different feedback vector would select a 
different lower level subgoal. For example, 
if F 3 indicates a female in the territory, 
C 2 will become (MATE), and the type of 
mating behavior selected will depend on F 2 . 

In simple creatures like the stickleback 
fish, the sensory stimuli that produce F 2 
and F 3 vectors which trigger specific be- 
havioral trajectories are called innate re- 
leasing mechanisms. Innate releasing mech- 
anisms and their associated behavioral 
patterns have been studied extensively in 



a number of insects (ie: the digger wasp 
and various bee and ant species), several fish, 
and many birds (ie: the herring gull, turkey, 
and golden eye drake). 

In these relatively simple creatures, be- 
havior is sufficiently stereotyped that it can 
be described in terms of a small set of be- 
havioral patterns triggered by an equally 
small set of sensory stimuli. This suggests 
that insects, fish, and birds have only a few 
levels in their control hierarchies and a small 
set of behavior patterns stored as H func- 
tions at each level. It further implies that 
there are few externally driven components 
in the F vectors at each level. Behavior tra- 
jectories are internally driven, with only a 
few branch points controlled by sensory 
data processed through simple pattern recog- 
nizers. The trajectory segments driven en- 
tirely by internal variables are called fixed 
action patterns, or tropisms. The external 
variables which control the relatively few 
branch points are the innate releasing mech- 
anisms. 

In higher animals, behavior is more com- 
plex and much less stereotyped. This im- 
plies more levels in the hierarchy, more 
external sensory variables in the F vectors at 
each level, and hence many more possibilities 
for branching of the resulting trajectories. 

Figure 22 illustrates a set of trajectories 




The new Pascal Computer System is driven by a unique 16- 
bit Pascal MICROENGINE™ — the first microprocessor hard- 
ware designed exclusively for direct high-level language 
execution. ■ The processor is incorporated into a single 
board computer system, the WD/90, which directly executes 
Pascal intermediate code generated by the University of 
California at San Diego (UCSD) Pascal compiler, Release 
III .0. ■ Since P-code output by the Pascal compiler repres- 
ents an ideal architecture for a computer executing Pascal 
programs and since the WD/90 directly executes P-code (no 
interpreter), these programs execute up to five or more 
times faster than equivalent systems. 

WESTERN DIGITAL 

3128 Redhill Avenue, Box 2180 • Newport Beach, CA 92663 
(714) 557-3550, TWX 910-595-1139 



The WD/90 Pascal MICROENGINE™ Computer 

includes: ■ Pascal MICROENGINE™ 

processor ■ 64K bytes of RAM Memory ■ Two 

RS-232 asynchronous/synchronous ports (110-1 9.2K 

baud-full duplex) ■ Two 8-bit parallel ports (500 kHz 

maximum data rate) ■ Floppy disk controller with direct memory access 

(DMA), switch selectable for: single or double density (IBM format); mini or 

standard floppy; 1 to 4 drives (same type) ■ Floating point hardware 

(proposed IEEE standard) ■ Memory Mapped I/O ■ Enclosed power 

supply Complete UCSD Pascal Operating System (Release III.0) 



FOR FURTHER INFORMATION CONTACT 

DISTRIBUTOR: CIT (714) 979-9920 

RETAIL: Your LOCAL COMPUTER Store 

OEM: Your WESTERN DIGITAL Sales Representative 



32 June 1979 © BYTE Publications Inc 



Circle 388 on inquiry card. 




J^JJMIWA 



Wrp§ JB f f^f 




OH (S i 1 4 i o i 1 ® 

p— p^v p— » p— ^— y— 



fB fiB 1 



oiniCoinniTDTiiitfiinis 



A newquar terly by 
the staff of BYTE 

This totally new publication is entertaining, informative, and uncomplicated. It is edited for 
the attorney, accountant, writer and other professional or business person aware of the 
personal computer as a tool for business, education, home entertainment, laboratory work 
and other applications. 

Compiled and edited by the staff of BYTE, latest developments covered in onComputing 
will include creative uses of the small computer, books for the computer user, how and 
where to buy your personal computer and numerous features concerning the fascinating 
world of the microprocessor. 

Add onComputing to your library of 'must' publications. Act now, subscribe and 
receive four (4) issues m; S8.50 for one year (U.S.); Canada and Mexico: §10,00. 




GUIDE TO PERSONAL 



SUBSCRIBE NOW! COMPLETE AND MAIL ATTACHED POSTAGE PAID REPLY CARD 

onComputing, Inc. □ 70 Main St. □ Peterborough, NH 03458 □ Dial toll free 800-258-5485 (In NH 924-7217) 



Figure 22: A set of T p 
trajectories in which there 
is opportunity for branch- 
ing at many points in 
time. If behavior can be 
modified by feedback at 
many different levels and 
in many different ways, 
it appears to be adaptive 
and flexible. If there are 
only a few branch points, 
with only a few alternative 
actions available at each 
branch, behavior will ap- 
pear stereotyped. 




in which there is opportunity for branching 
at several different levels at every step along 
each trajectory. At each instant in time the 
C vector to any particular level depends 
upon what the C and F vectors were to the 
next higher level at the previous instant. 
Thus, a change in the F vector at any level 
causes an alternative C vector to be sent to 
the level below. Behavior is continuously 
modified at all levels by external variables, 
and hence does not appear stereotyped at 
all. 

Many degrees of freedom place great 
demands on the H functions for maintaining 
stability and precision of control in such a 
large space of possibilities. Since successful 
behavior is only a tiny subset of all possible 
behaviors, it is clear that most of the poten- 
tial branches will lead to disaster unless the 
H functions produce actions which steer 
the S and P vectors back into the narrow 
regions surrounding success trajectories. For 
a multilevel hierarchy with sensory interac- 
tion at many different levels, this is ex- 
tremely complex. However, if the H func- 
tions are trainable, then performance can 
improve through practice. Complex tasks 
can be learned, imitated, and communicated 
from one individual to another. 

Conclusion 

We have now completed the first step in 
our development. We have described a hier- 
archical computing structure which can 
execute goals, or intended tasks, in an un- 
predictable environment. We have also 



defined a notation by which the behavior of 
such a hierarchy can be described clearly and 
concisely. We have asserted that the com- 
plexity of behavior resulting from such a 
control hierarchy depends on four things: 

• the number of levels in the control 
hierarchy; 

• thenumber of feedback variables which 
enter each level; 

• the sophistication of the H functions 
which reside at each level; 

• the sophistication of the sensory pro- 
cessing systems which extract feed- 
back variables for use by the various H 
functions. 

In part 2 we will describe a computer 
model of a neurophysiological structure in 
the brain which computes multivariant H 
functions. We will then suggest how the 
brain might use such structures to learn skills, 
remember events, select goals, and plan 
future actions." 



BIBLIOGRAPHY 

Albus, J S and J M Evans, "Robot Systems," 
Scientific American, February 1976, pages 77 
thru 87. 

Arbib, M A, The Metaphorical Brain: An Intro- 
duction to Cybernetics as Artificial Intelligence 
and Brain Theory, Wiley-lnterscience, New 
York, 1972. 

Sommerhoff, G, Logic of the Living Brain, 
Wiley-lnterscience, New York, 1974. 
Tinbergen, N, The Study of Instinct, Clarendon 
Press, Oxford, 1951. 



34 



June 1979 © BYTE Publications Inc 



Wordsmith is the video text editing system you've been 
waiting for Its power, flexibility and simplicity help you carve 
any text editing task down to size — in a way you can 
understand. We wanted a system that allows you to think in 
traditional ways about text layout, yet at the same time makes 
the traditionally tedious operations such as cut and paste 
simple and fast. We think we've done it. We want you to decide 

for yourself ■■■■■■■■■leaaaaeaaeaieaBaaaaKaaBaaaaeaaaaeBeBaaaaaaaaaaaaaai 



Flexibility 

Logical/Physical Page Distinction. Define your own 
hardcopy size. Wordsmith remembers the difference 
between the screen size and the hardcopy page size. 

Modular Hardcopy Driver. Drive a Qume® Sprint-5 or 
TTY-like device directly now, Diablo, NEC and other 
hardcopy devices soon. 

Pure Text. Wordsmith files are pure text with no control 
characters mixed in. This universal format keeps you as 
compatible with the world as possible. What you see on the 
screen is what you get as hardcopy. 

Page Templates. Snapshots of the block layout of a page 
can be saved as named disk files, then later recalled and 
superimposed on the current page. Use such "templates" 
for standard multicolumn layouts, common letter formats, 
and fixed-field forms. A single keystroke dispatches you 
quickly from block to block as you fill in your page. 





1=1 












□ 





Take a 

snapshot 

of a 

page's 

window 

layout 




^=3 



Recall a 
template 
and hop 
from window 
to window. 



File Switching. Moving from document to document to 
examine, copy, move and change text is like rolling off a log.. 
You're not confined to one disk file at a time anymore. ■■ 



Power 

Page Oriented Philosophy. A document is a collection of 
pages. The screen displays one entire page at a time. Simple 
random access page flipping commands take you quickly to 
any page in the document. Equally efficient commands allow 
you to insert, delete, copy and move pages both within one 
document and across documents. 




'Extensive Block Manipulation Capabilities. Using 

"windows", portions of text, charts, etc., can be quickly and 
effortlessly moved around on the current page, or across 
pages. The shape and size of any window can be changed in 
real time, with the contained text automatically 
reformatting itself (heeding word and paragraph 
boundaries) to conform to the new shape. 




Sat Up 

Multiple Text 

Regions 



Change Text Shape 



L 



Instantaneous Formatting. Compacting (extraneous 
blank deletion) and right justifying are simple commands 
that tidy up a full page or window's worth of text in the blink 
of an eye. Random access cursor movement, line and 
character insert and delete, line and page split and join, and 
a host of other line and character level commands help you 
put text in its place quickly and accurately. 



Simplicity 

Auto Word Break. Forget the right margin. Wordsmith 
notices when you won't be able to complete the current 
word and moves it to the next line for you as you continue 
typing. 

Understandable Commands. The most frequently used 
commands are single keystrokes. The rest are easily 
remembered abbreviations. 

Informative Status Lines. The top two screen lines 
constantly display page number information, document 
name, cursor position, tab stops and status/error 
phrases. You're always in touch with your document. 



Page 3 of 8 


File=ADV1 


Cursor row 28, col 43 


T I 


T 


T t 



Protection Against Catastrophic Errors. It's nearly 
impossible to ruin your document with a single bad 
command. Wordsmith's page oriented design and double- 
checking user interface help you do what you mean! 



The _ tm 

aJORE>sraftb 

TEXT EDITOR 

Defining the New Generation of Text Editing 

from Micro Diversions, Inc. 
8455-D Tyco Rd. 
Vienna, Va. 22180 
(703) 887-0888 

■ Direct CP/M® and North Star DOS compatibility 

■ Available for 40x86, 24x80 and 16x64 memory-mapped 
video boards 

ia Fully reentrant for efficient multi-programming environ- 
ments (6K program space, 5K data area) 

■ 8080 and Z80 compatibility 



Ordering 
Information: 

S200 

(Screensplitter™ Owners: SBO) 

Manual only: $15 

Check, VISA, Mastercharge 



1. CP/M or North Star DOS 
version? 

2. TTY or QUME interface? 

3. Brand and memory address of 
video display board? 

4. Ship on single or double 
density. 5" or 8" diskette? 



Inquire about our custom keyboard. 



Circle 219 on inquiry card. 



BYTE lune 1979 35 



Simple Maze Traversal Algorithms 



Sandra and Stephen A Allen 
2543 Luciernaga St 
Carlsbad CA 92008 



This article is a discussion of some solu- 
tions to the problem of traversing a maze. 
The algorithms here represent neither an ex- 
haustive nor a high-powered study of the 
problem, but rather an intuitive approach. 
The ideas reflect our thought processes and 
those of Tony Rossetti in our efforts to com- 
pete in IEEE Spectrum magazine's ongoing 
Micromouse contest. 



RIGHT 
ANGLE 



LEFT 
ANGLE 



TEE 



U-TURN 



MOUSETRAP 



Figure I : Types of intersections allowed in the maze. All intersections are at 
right angles and no cross intersections are allowed. 



Problem Specification 

The IEEE Spectrum's Micromouse Maze 
contest began time trials last June at the 
1978 National Computer Conference in Ana- 
heim CA. A mechanical "mouse" (ie: robot) 
must find its way under its own power from 
the entrance of a maze to the exit. Each 
mouse is given three tries through the maze, 
with a time limit on each attempt. The 
mouse with the shortest logged time wins 
the contest. The solution to the problem, 
then, is to find the path through the maze 
that yields the shortest time. 

An important consideration in finding a 
solution is the characteristics of the maze. 
The corridors are of uniform width. There 
are only five types of intersections: right 
angle; left angle; T; U turn; and mouse- 
trap. These are shown in figure 1. There are 
no cross-intersections, nor are there any 
king's chambers, which are large vacant areas 
in the maze. This simplifies the traversal 
algorithms somewhat. Finally, there are 
exactly one entrance and one exit on the 
perimeter of the maze, but not necessarily 
on opposite sides. 

Characteristics of the mouse should also 
be taken into consideration. It must be com- 
pletely self-contained, having an on board 
computer and any required memory. Since 
the mouse must carry its own battery, avail- 
able power is a limiting factor. 

Easy Algorithms 

The criteria used in looking for a solution 
were primarily based on the considerations 
discussed above. The limited power, pro- 
gram space, memory and processor power 
were perhaps the most important aspects. 
Simplicity was also an important element 
in order to provide easy modification and 
enhancement of the robot. 



36 



lune 1979 '0 DYTh Publications ln<: 



The traversal algorithm that suggests itself 
first is the simplest one: each time the robot 
encounters an intersection, the rightmost 
path is followed. This is the equivalent of 
the robot resting its "right hand" on the 
right wall of the maze corridor and not lift- 
ing it throughout the maze walk (see figure 
2). Of course it works in the same way when 
taking the leftmost path instead of the right- 
most. This algorithm certainly meets the 
requirement of simplicity, and the program 
is small and uses little memory. It also guar- 
antees a solution, but unfortunately in using 
this algorithm there only exists one solution, 
so there is no way to take advantage of the 
second and third runs through the maze to 
significantly improve the traversal time. 

The resulting path may be a very long, 
roundabout path through the maze. This, of 
course, depends on the configuration of the 
particular maze. Indeed, the possibility 
exists that the path takes more than the 
allotted time for the robot to complete. So 
the leftmost/rightmost algorithm guarantees 
one solution, but has significant disadvan- 
tages. 

A variation of this algorithm is one in 
which, at each intersection, the robot 
chooses one of the available paths at ran- 
dom. Again, this is an easy and short pro- 
gram to implement. It has the important 
advantage that a different path is picked 
every time through the maze, so that there is 
the chance of picking a fairly short path. A 
definite drawback, though, is that no solution 
is guaranteed. The robot may come out the 
entrance instead of the exit, or may wander 
around in the maze until the allotted time 
has run out. 

Another slight variation on the leftmost/ 
rightmost algorithm is the straight-ahead 
first algorithm. If, in this algorithm, a 
straight-ahead alternative exists at an inter- 
section, that path is chosen (otherwise either 
the right or left path is taken). Like the 
former algorithm, this one is short and 
simple, yielding a unique path; however, this 
path may not be a solution. This algorithm 
can have certain advantages, though. When a 
maze has cross intersections and the entrance 
and exit are on opposite sides of the maze, 
the robot gets close to the exit faster. Also, 
for robots which are mechanically faster at 
going straight than at turning, this algorithm 
can minimize the required turns. 

All of the solutions discussed above are 
very simple and, except for the random path 
algorithm, give only one possible solution 
for each maze configuration. Since the 
mouse gets three tries through the maze, a 
logical next step is to use a different algo- 
rithm on each run. For example, choose the 
rightmost path on the first time through, the 





Figure 2: Example of a rightmost, maze walk. At each intersection encount- 
ered, the rightmost available path is chosen. 



GOFHOM THIS... 




TO THIS 



3 




FORms 



Stock Continuous Business Forms 
Just Program and Gol 






; ' 



DESCRIPTION 


t) 


FORM 


PARTS 


PACK/PRICE 


LBS. 


8'Ax 11 

(Detached) 

Printed 


1013 


Invoice 


3 


250/2850 
1000/79.00 


9 
35 


1023 


Statement 


3 


250/28.50 
1000/79.00 


9 
35 


1033 


Purchase 
Order 


3 


250/28.50 
1000/79.00 


9 

35 



STATEMENT 
3 PART S1023 






TO ORDER: 

Send 25% Deposit with order. Balance plus 
freight C.O.D. or send Full Amount with 
freight and save C.O.D. charges. Free freight 
on orders over $300 in continental U.S.A. 



FORmS 



PURCHASE ORDER 
3 PART #1033 



BOX 55247 

VALENCIA, CA 91355 Dealer Inquiries Invited 

"Copyright 1979 GOFORMS. Box 55247. Valencia. CA 91355 



Circle 153 on inquiry card. 



June 1979 © BYTE Publications Inc 37 



(Xr 



(X -X 2 , 
Y » 



(X ,Y I 



(X +X|, 
Y I 



(x -x 2 . 



'0 



-V,) 



(0,30) 



(0, 20) 



(-10, 10) 



(0, 10) 



(0, 0) 




(0. 01 
(0. 10) 
(10. 101 
(10,20] 
(0, 20) 
(0,30) 



Figure 3: Representing a 
maze path by coordinate 
pairs. In general, horizon- 
tal movement will add or 
subtract the distance from 
the X coordinate; vertical 
movement will add or 
subtract from the Y coor- 
dinate. 




(10,20) 



(10, 10) 



Figure 4: Example of how 
a section of a maze might 
be labeled using the tech- 
nique shown in figure 3. 



LEFT 



Figure 5: Sequence of X, Y 
coordinates of all the 
intersections visited during 
a maze walk. Two short 
samples of the leftmost 
and rightmost path lists 
through a simple maze 
section are shown. 



leftmost path the second time, and the 
straightest path the third time. In this way 
the mouse is allowed to take advantage of 
having three tries, and perhaps one will 
yield a reasonably short time. 

Smarter Algorithms 

An unfortunate characteristic of mazes 
built for a competition of this sort is that 
wall-hugging mice (ie: those that don't 
recognize corridors and intersections, but 
are built to blindly follow the right or left 
wall) are heavily penalized. This means that 
the maze probably has a fairly short and 
direct path from the entrance to the exit, 
but that this path has so many dead-end 
offshoots that a wall-hugger ends up cover- 
ing a large portion of the maze's interior 
before reaching the exit. This aspect makes 
it not such a good idea to use only a right- 
most or leftmost algorithm. Rather, it argues 
for using an algorithm that can be smart 
about picking the path and learning from its 
mistakes. 

Obviously, the only way the robot can 
learn from its mistakes is by remembering 
what it did. In this way, the robot can make 
a first try through the maze using one of the 
simple algorithms discussed before, remem- 
bering the path taken. Then the remembered 
path can be optimized. This attack gives the 
potential for significant time improvement. 

Remembering the Path Taken 

The most difficult part of remembering a 
path taken through the maze is how to re- 
present that path in the mouse's memory. 
One straightforward way to do this is to 
conceptually map the maze onto an X,Y 
coordinate grid, picking a convenient origin 
(ie: the entrance to the maze) and orien- 
tation (ie: forward from the entrance is +X). 
Since all intersections of corridors are at 
right angles, any movement will be either 
parallel to the X axis or parallel to the Y 
axis, and will have either a positive or 
negative increment. This mechanism pro- 
vides a way to uniquely name all inter- 
sections in a maze simply by giving the 
X,Y pair which specifies the distances from 
the entrance at (0,0). See figures 3 and 4 for 
examples of naming intersections. 

As the mouse visits intersections on its 
walk through the maze, it can record in its 
memory the X,Y coordinates of each, thus 
generating a list of X,Y pairs starting with 
(0,0) which uniquely describes the parti- 
cular path taken. Figure 5 shows the coor- 
dinate lists representing the leftmost and 
rightmost paths through the labeled maze 
of figure 4. 



38 June 1979 © BYTE Publications Inc 



kW* 





.' *, ■ - 




1 • ' 


' ^1 


■ . ■*.-' '•> ■ . ' 




-*. - 


.^., - ". ,: .S 




;-•' '-'■_• . >SaSr ^ii& 



fiof peanuts! 



At last, you can get a mammoth 32K memory control and buffering, drawing typically 2.6 amps. 



without paying a beastly price. The SuperRam™32K 
static memory kit is just $649 for S-100 systems. 
The latest of George Morrows heavyweight 
memory designs for Thinker Toys™, the SuperRam™ 
32K features two independent 16K blocks, each 
addressable and write-protectable. It meets the 
Proposed IEEE S-100 Standard with full buffering 
of both data and address lines, uncommonly 
efficient, the Morrow design utilizes just 7 ics for 

Circle 256 on inquiry card. "See us in bootl 



Ask your local computer shop to order the 
SuperRam™ 32K kit for you. Or call (415) 524-2101. 



J Morrow makes memory for 



5221 Central Ave., Richmond, CA 94804 m 

Judy" the elephant courtesy Marine World-Africa USA 



"See us in booths 98 and 99 at the NCC" 







(20, 2C 


)) (30,20) 








(10, 10) 


(20, 10) 












(0. 0) 


(10, 0) 




20. 0) 















Figure 6: Maze pitfalls. On 
its first, nonoptimized 
attempt, the mouse will 
traverse the entire length 
of the dead-end corridor. 
After optimizing the path 
by deleting backtracked 
corridors, a shorter path is 
taken. 



LEFTMOST PATH 
BEFORE OPTIMIZATION 

(0, 0) 
(10. 0) 
(10, 10) 
(20,10) 
(20, 20) 
(30. 20) 
(20. 20) 
(20, 10) 
(10, 10) 
(10, 0) 
(20. 0) 
(20,-10) 




Figure 7: Leftmost versus rightmost maze traversal, in which the robot keeps 
its right or left side against the respective wall while traversing the maze. The 
leftmost path the mouse would travel is shown in red. Notice that the outer 
edge of the loop is completely circumvented. When intersection I is visited a 
second time it is clear that this whole section of the maze is fruitless because 
all corridors leading away from the center of the loop were tried and found to 
be useless. Since the exit to the maze is along the perimeter of the maze, no 
corridor going to the inside of the loop could possibly reach the exit. The 
rightmost path is shown in gray: in this case the whole loop is neatly by- 
passed. The mirror image of the above maze section can be used to argue 
similarly for chopping the loop off the rightmost path. 



LEFTMOST PATH 
AFTER OPTIMIZATION 

(0, 0) 
(10, 0) 
(20, 0) 
(20,-10) 



Optimization 



Now that the mouse has a way of remem- 
bering the path it takes on the first attempt 
through the maze, the next problem is, how 
can it find a better (shorter) path for the 
second attempt? The main motivation be- 
hind optimizing a path is to chop off all 
parts of the path that don't contribute to 
getting closer to the exit. That is, remove 
any part that had to be backtracked. 

The first type of backtracking is that 
in which a corridor is a dead end, and the 
mouse has to return to the main corridor 
to continue. Clearly the time spent negoti- 
ating this part of the maze is wasted and 
should be omitted. Figure 6 illustrates this 
kind of backtrack optimization: every 
coordinate pair along the backtracked path 
can be deleted from the list. Notice that 
this same method works no matter how 
long the dead end corridor is (ie: how many 
intersections it has). 

A second kind of backtracking occurs 
when the maze contains a loop or cycle. 
The presence of a loop is indicated when tine 
mouse returns to an intersection that it has 
previously visited. The whole traversal of 
the loop can be cut out of the maze walk 
since that part of the maze is useless and 
cannot lead to the exit. Figure 7 illustrates 
how it is always the outer edge of the loop 
that is traversed. Once an intersection is 
revisited, all corridors leading away from 
the center of the loop have been already 
tried and found to be fruitless (otherwise 
the mouse would not have returned to the 
loop entrance). And since the exit is along 
the perimeter of the maze, no corridor 
leading to the inside of the loop could 



40 



lutu> 1979 © BYTE Publication* Inc 



NOW YOU CAN AFFORD 

THE WORLD FAMOUS 
Diablo Printer Terminal 




IPSI PROUDLY ANNOUNCES A PRICE 

BREAKTHROUGH ON DAISY WHEEL 

PRINTER TERMINALS 

Featuring: RS 232 compatibility at 110, 
150, 300, and 1200 baud: Print speed of 45 
char/sec: Graphics capability: Over 30 print 
wheels from 10 to 15 char/inch: 5 ribbons 
in color, cloth, film or two color: Form 
length adjustable: Spacing adjustable from 
120 pitch to .1 pitch: Line spacing adjus- 
table from 48 lines/in. to .4 line/in.: Identi- 
cal in every respect to it's high priced 
sister the Diablo HyTerm II* model 1620. 

Price: $2,595.00 each in single units, quan- 
tity discounts available. 

Service: Major cities in the U.S. and Canada. 



You have probably waited a long time to purchase your computer printer at a reasonable 
price. Wait no longer! The Diablo 1620 lists for $3,240.00 we sell the IPS1 1622 for$2,595.00; 
save well over $600.00. For immediate action phone in your order collect and we will ship 
your terminal the same day. 

We also Stock Diablo 1345A (Hytype II*) mechanisms for immediate shipment at the low 
price of $1,150.00. Order one now and build your own terminal using your own CPU, or do- 
it-yourself by buying our 1622 kit and assemble your own terminal within 10 hours 
for $2,295.00 

If you've always wanted to turn your computer onto word processing, this is the only way to 
go. Ask for our free word processing software. 

IPSI 

INTERNATIONAL PERIPHERAL SYSTEMS, INC. 

1849 N. HELM 

FRESNO, CALIFORNIA 93727 

CALL (209) 252-3635 



•Hyterm and HyType are registered trademarks of Xerox Corp. 

Circle 181 on inquiry card. 



BYTE June 1979 



41 



possibly reach the exit. Therefore, it doesn't 
matter that these were unexplored, and 
every intersection along the loop can be 
deleted from the optimized path with no 
loss of important information. 

Detecting the two different types of 
backtracks (straight line and loop) involves 
answering the same question: has the mouse 
been here before? The handling of both 
types of backtracks is also the same too: 
delete all of the path history between the 
last visit here and this visit, then continue 
from there. Up until now, the optimizing 
process has been discussed in an "after the 
fact" fashion, as if the whole maze walk 
path had already been generated from the 
start to the finish. However, it can be 
much more efficient if the mouse can per- 
form these optimizations while it is re- 
cording the path. 

The actual details of the implemen- 
tation are not important here, since they 



(O, 20) 



(10, 20) 



(20, 20) 




(10, 5) 



(20,5) 



(0,0) 



(0. 01 


(0. 0) 




(0, 0) 


(0.20) I -•> (0,20) ■" 




(0.201 


110.201 *n 


(10, 20) 


B 


10.30) 


110.5) 


NEXT-* 10, 20) ' 




(0,401 


120.5) 


A 




(20,20) 






(10,20) - 









Figure 8: Backtracking checks. Whenever the mouse records the intersection 
it is in, it checks backward in the path list to see if it has been here before. 
If so, the path list is pared back to that point, and thus the backtracked 
path is automatically "forgotten. " For example, in A, the mouse is at inter- 
section (10,20); it scans back through its path history and sees that it has 
been here before at pointer I. So the NEXT pointer is reset to just after I 
and the mouse continues. In B, the mouse again finds that it has revisited an 
intersection, and again the NEXT pointer is reset before continuing. In C, 
the final, optimized path is shown. 



would depend on the type of microprocessor 
used. In general, though, assume that the 
intersection X,Y coordinates are stored in the 
mouse's memory in a linear fashion (ie: 
in an array or list). Furthermore, assume 
that there is a pointer into the array or list 
indicating where the next coordinate pair 
will be stored (ie: NEXT pointer). In this 
way, each time the mouse encounters an 
intersection and is about to record its 
coordinates as the NEXT position in the 
path list, it can scan backward from the 
NEXT pointer to the beginning of the list, 
looking for an occurrence of the same coor- 
dinates. If no occurrence is found, this is 
the mouse's first visit here. These coor- 
dinates can be recorded at the NEXT posi- 
tion in the list, and NEXT can be appro- 
priately incremented to prepare for any 
successive intersections. If an occurrence of 
the same coordinate pair is found (ie: at 
position I in the list), the mouse has been 
here before. The easy way to "forget" the 
backtracked part of the path (between I 
and NEXT) is for the mouse to reset NEXT 
to I, then continue normally by incre- 
menting NEXT and looking for another 
intersection. Figure 8 shows this diagramati- 
cally. 

Incidentally, if the mouse has relatively 
low accuracy motors and sensors, it is pos- 
sible to obtain slightly different readings 
when encountering an intersection for the 
second time. Therefore, when checking to 
determine if this intersection has been 
visited before, allowances must be made for 
the inaccuracies. This is easily accomplished 
by checking to see if X[NEXT] is within 
plus or minus delta of X[l] , and if Y[NEXT] 
is within plus or minus delta of Y[ I], where 
the delta value reflects the amount of pos- 
sible deviation, instead of checking for 
X[NEXT] =X[I] andY[NEXT] =Y[I]. 

Although it may seem that a lot of com- 
putation is done while the mouse is running 
the maze (and, after all, speed counts), in 
fact, the time taken for computation is so 
small compared to the time it takes for the 
robot to move to the next intersection that 
it is hardly noticeable. Another factor which 
makes doing the optimization during the run 
even more desirable is that the exit of the 
maze is not always well defined. This means 
that the robot merely passes through a cor- 
ridor and trips a light sensor to stop the 
timer, and then proceeds to "fall of the edge 
of the world." This makes it difficult for the 
mouse to determine that the maze run is 
finished, and that it should now optimize 
the recorded path. Optimizing during the 
run is certainly cleaner and more efficient. 

A suitable way to take advantage of the 
backtrack-trimming algorithm would be 



42 



lune 1979 © BYTl Publications Inc 



THE DIAGNOSIS: 

MEDICAL OFFICE MALAISE 



Between insurance 
forms, Medicare and 
Medicaid forms, bills, and 
patient records, the typical 
medical office today is 
swamped with paperwork. 
If the sheer volume isn't 
enough of a problem, it is 
also essential that all this be 



done with speed and 
accuracy. It has been 
estimated that Doctors and 
office staff spend nearly a 
quarter of their time 
handling paperwork. Until 
now, the only alternatives 
were either hiring more per- 
sonnel or subcontracting 



with an outside firm. 
Obviously, a medical data 
base management system 
has great potential for 
significantly increasing 
office efficiency and freeing 
staff for more valuable 
duties. 



THE CURE: 

MED2 FROM OHIO MICRO SYSTEMS 



MED2 is a reliable, 
debugged program that 
generates valuable adminis- 
trative reports, bills, aging 
account analysis, and 
insurance forms. It is the 
result of over a year of 
design, testing, and 
retesting in colloboration 
with medical offices. It 
features a large on-line 
capacity and can be 
operated by the existing 
office staff. MED2 is 
suitable for one person 
offices or group practices. 
It adapts readily to GP's, 
specialists, dentists, and 
medical laboratories. 
MED2 requires a Z80/8080 
microcomputer system that 
supports CP/M and it is 
available on Micropolis 
5.25 in. and IBM 3740 8 in. 
diskettes. 



FREE USERS SEMINAR 


WITH EVERY MED2 DISK 


There is a lot to know 


with microcomputers, but it is 


about MED2 - more than can 


specifically geared for dealers. 


be explained in an ad or 


MED2 provides an excellent 


manual. To show you what 


entry for dealers into the large 


MED2 can do, how to use it, 


new marketplace of medical 


and why it is configured as it 


offices. There is no question 


is, OHIO MICRO SYSTEMS 


that the need exists. Investing 


makes an unprecedented offer 


the time in the seminar will 


- a FREE two day user's 


open the doors to increased 


seminar (lodging included) 


hardware and system sales. 


with every MED2 disk. We 


The price of MED2 is 


believe this is the best way for 


$895. A deposit of $200, which 


you to obtain a thorough 


applies toward the purchase 


working knowledge of MED2. 


price, is required for 


You get to see, question, and 


registration in the seminar. If 


evaluate MED2 with its 


you decide to not purchase 


designers. The seminar is 


MED2 after the seminar, you 


comprehensive and includes 


owe no more. Contact OHIO 


information on procedures in 


MICRO SYSTEMS for 


medical offices, customizing 


seminar dates, registration, 


MED2 for unique situations. 


and further information. 


technical aspects of MED2, 


Phone (216) 678-5202 or write 


and marketing strategies. The 


to us at 500 South Depeyster, 


seminar can be a complete 


Kent, Ohio 44240. 


course for an end-user familiar 





OHIO MICRO SYSTEMS 

500 S. DEPEYSTER ST. • KENT, OHIO 44240 • (216) 678-5202 



Circle 284 on inquiry card. 



BYTE lunc 1979 43 



Figure 9: Optimization. If 
a leftmost path were to 
yield the red path and a 
rightmost path were to 
yield the gray path, the 
common intersections 

would be A, B, C, and D. 
By taking the shorter path 
between each successive 
pair of intersections, one 
obtains the shortest total 
path which has been tra- 
versed. Examples of short 
paths are the gray path 
from A to B, either path 
from B to C (since they 
are the same), and the red 
path from C to D. The 
final path is the most 
direct and shortest path 
through this section of the 
maze. 



I— «-H 



TOTAL LENGTH 
= 10 UNITS 





TOTAL LENGTH 
= 12 UNITS 



Figure 10: Turning time considerations. Due to the time it takes for the 
mouse to turn in an intersection, evaluations regarding this difference in the 
average length traveled per unit time must be made. For example, the mouse 
moves one unit of length in one unit of time and it takes two units of time to 
turn in an intersection. Then with the mouse starting in position A in each 
course, after 12 units of time the mouse has progressed 10 units of length on 
the left and a full 12 units on the right. 



for the mouse to take the rightmost path, 
optimizing and recording as it went on the 
first attempt, and similarly take the left- 
most path on the second try. Now the 
mouse has recorded in its memory two 
different optimized paths. At the beginning 
of the third attempt, each of the two paths 
can be measured by a straightforward, length 
of corridors sum, and the shorter of the two 
optimized paths can be taken on this final 
run. 

A logical extension of this shorter total 
path philosophy is to compare the leftmost 
path list to the rightmost path list, finding 
all the common intersections. A short total 
path can then be composed by joining the 
shorter of the path segments between each 
common intersection pairs. For example, 
each complete path might go through the 
origin, intersection A, intersection B, and 
the exit point (perhaps along with many 
other different intersections). Then an 
optimal path could be made by combining 
the shorter path between the origin and 
A, the shorter path between A and B, and 
shorter path between B and the exit. Con- 
ceptually, this is like breaking the maze 
down into "common denominator" sections 
and picking the shortest path through each 
individual section. And, in fact, this path is 
the shortest one which has been traversed 
through the maze so far (see figure 9). 

However, time is critical, not distance, 
and most likely the robot corners more 
slowly than it goes straight (see figure 
10). So if the shorter path has many turns in 
it, and the longer run has few turns, the 
shorter path may not necessarily yield the 
shorter time for the run. Therefore, a slight- 
ly more sophisticated scheme could measure 
the paths using a weighted sum (a larger value 
for turns than for straightaways), and yield 
values which more closely reflect how fast 
the robot can negotiate the maze by the 
different paths. 

Conclusions 

The algorithms presented here are by no 
means high-powered or devious, but are 
more the results of a natural, intuitive ap- 
proach to the maze traversal problem. They 
are all straightforward and relatively easy to 
implement. But even so, they are reliable 
and produce solutions which are reasonably 
good, especially when compared with the 
common wall-hugging tactics. 

Clearly, there are still many ways to im- 
prove the performance of these algorithms. 
More contests like the IEEE Spectrum's 
Micromouse contest will perhaps encourage 
investigation in this area and will produce 
much more sophisticated approaches and 
solutions to the maze problem." 



44 



lime 1979 © BYTE Publications Inc 



NorthStary 



'Micro-Computer Products 
to Look Up to" 





Horizon Disk Capacity 
Keeps Growing 

The Horizon is now capable of 720K 
bytes on-line! The Horizon can connect 
to four double density 5 1 /4" single-sided 
disk drives, Each of those drives can 
access 180K bytes of information. A 
four drive system accesses 720K bytes! 

That's capacity you don't usually find in 
a microcomputer, but there's even 
more to come! The North Star disk con- 
troller board is designed so that two- 
sided disk drives may be added as 
soon as they become available from 
North Star. 

Existing Horizons will accommodate the 
new two-sided drives so North Star 
owners can simply add additional 
drives to up-grade their system. Each 
two-sided drive wi II access 360K bytes! 
That means the maximum on-line disk 
storage for the Horizon will increase to 
over 1.4 million bytes! 

New Cabinet 
for Disk Drives 

North Star additional disk drives are 
now available with the same high 
quality wood cover as the Horizon 
computer! The Additional Drive 
Cabinet (ADC) is designed to accept 
either one or two drives for the Horizon 
or for mounting North Star Micro Disk 
System drives. Like the Horizon, the 
ADC is available with either wood or 
blue metal cover. Included is a new 
power supply capable of powering 
one or two drives. The ADC is $129 in kit 
form. Assembled, with one drive the 
ADC is $599, with two drives $999. 



Pascal Now Available 
for Horizon 

The much-heralded Pascal language 
is now being offered for use with the 
North Star Horizon computer. North 




Inside view of Horizon with processor 
board, RAM board, disk controller, two 
drives, and power supply. 

Star, with the co-operation of the Uni- 
versity of California at San Diego, is 
now delivering a Pascal Program De- 
velopment system. North Star Pascal is 
ideally suited for developing large 
programs because of features such as: 
long variable names, block-structured 
control statements, and compilation. 
North Star Pascal is available on 5 1 /4" 
diskettes for use with the Horizon or 
Micro Disk System. North Star Pascal 
will operate with either the Z80 or 8080 
microprocessor. 

Pascal, including documentation, is 
available in either single or double 
density versions for $49. 
An auxiliary Pascal diskette, contain- 
ing an 8080/Z80 assembler and some 
additional Pascal utilities, is available 
for $29. Complete information is avail- 
able at your local retail computer 
store, 




First Double Density, 
Now Double Memory 

The new North Star 32K RAM board 
(RAM-32) has doubled the memory 
density of the popular Horizon compu- 
ter. Available either with the Horizon or 
other S-l 00 bus computers, the RAM-32 
runs at full speed — no wait states — 
with the 4 MHz Z80A microprocessor 
(as well as with slower Z80 and 8080 
processors). Addressability of the 
RAM-32 is switch-selectable in four 8K 
regions. 

North Star RAM features like bank- 
switching and parity checking are 
standard. The parity checking capa- 
bility means that the RAM-32 is con- 
stantly diagnosing itself. That's a plus 
for your system. The fact that parity 
checking is a North Star RAM-32 stan- 
dard is a plus for your pocketbook! 
There is no extra charge for this impor- 
tant capability. 

A Horizon with 48K of RAM can be con- 
figured by using one North Star 16K 
RAM board and a RAM-32. Need 
more memory? 56K can be configured 
by using two RAM-32 boards with one 
8K region switched off. 

NORTH STAR MDS, ZPB, 
FPB FOR OTHER 
S-100 COMPUTERS 

Upgrade your system with these North 
Star products — available for any S-100 
computer: Micro Disk System -a 
complete 5Va" floppy disk system, Z80 
Processor Board, or the Hardware 
Floating Point Board. 

Horizon and RAM board prices are: 

Kit Assembled 

Horizon - 1-16K S1599 S1899 

Horizon - 1-32K 1849 2099 

Horizon - 2-32K 2249 2549 

RAM-32 599 659 

RAM-16 399 459 

A Atypical Horizon configuration: CRT, Hori- 
zon computer. Additional Drive Cabinet 
(ADC). 



jrl 



NorttrSlar 

Computers 

2547 Ninth Street 
Berkeley, California 94710 
(415) 549-0858 



Circle 285 on inquiry card. 



BYTI- lime 1979 



45 




PROVIDES 
POWERFUL 



With A New Concept In Documentation 



PRS EXCITING LINE OF PROGRAMS 



46 



PRS MAKES A 
BREAK-THROUGH IN 
DOCUMENTATION 

Every PRS program comes with a 
complete and instructive handbook. 
This unique documentation is written 
in clear and easy-to-understand 
English. PRS offers you a true fluency 
in computer-user dialogue. 

PRS HAS A 
POWERFUL CODE 

Powerful code means fast and accu- 
rate answers. PRS permeates the de- 
sign of its unique code with "human 
engineering." And you'll appreciate 
the delicate balance between machine- 
human dialogue and resident pro- 
gram-space memory. 

PRS PROGRAMS ARE 
PROTECTED IN A BEAUTIFUL 
CASSETTE OR DISK FOLDER 

The PRS cassette or floppy disk and 
manual for your PRS programs are 
protectively nestled in an efficient and 
durable gold-imprinted folder. Wher- 
ever you file it, in your room or office, 
the decor will be enhanced by its 
elegance. 

PRS SUPPORTS YOUR MAJOR 
BRANDS 

Over 20 packages are currently avail- 
able. For example: Cuts, Xitan, Tar- 
bell, TRS-80, Micropolis, North*Star. 
Use the order form on the other page 
to order your program. Just indicate 
your version and the configuration of 
your computer. Mail it to us today. 
And we will have it fulfilled immedi- 
ately by a dealer in your area. 

VISIT YOUR NEAREST DEALER 
TODAY 

Let your dealer demonstrate the excel- 
lence of PRS programs. Let him show 
you the new concept in PRS documen- 
tation. Use the order form to obtain 
the names of the dealers in your area. 

BYTE lune 1979 



□ MICROFILE: A NEW 
DATAFILE MANAGEMENT 
PROGRAM 

With PRS MICROFILE you can: Man- 
age any list of items. Edit files. Sort 
items alphanumerically. Search by 
keys. Total columns. Justify columns. 
Save and retrieve data with mass stor- 
age media. 

PRS MICROFILE documentation also 
solves one of the major concerns of 
beginners. A special chapter explains 
how you can interface newly acquired 
software with your specific configura- 
tion. 

PRS gives clear tutorial instructions on 
the whole matter of I/O patches. In ad- 
dition, you will always find a complete 
source listing of the I/O section of our 
programs. PRS makes every effort to 
facilitate the implementation of its 
software within your particular system. 
Cassette $49.95 
Floppy Disk $64.95 

□ DDS II: THE FAMOUS 
DYNAMIC DEBUGGING 
SYSTEM 

DDS II is incredibly powerful. Al- 
though designed for microcomputers, 
it is even more sophisticated than the 
built-in debugging environments sup- 
ported by most large main frames. 
DDS II assembles and disassembles all 
8080 code. Performs "software open- 
heart surgery", artfully displaying on 
the screen all registers, program in- 
structions and memory. Simulates 
dual screen capability. You can switch 
on command from the DDS II display 
to the program output. It's like having 
two video monitors for the price of 
one. Updates the display while moni- 
toring the program. Includes a full ar- 
ray of monitoring tools. 
Cassette $49.95 
Floppy Disk $64.95 

□ CORE: AN INDISPENSABLE 
"BRAIN-SURGEON" 

This PRS program is the TRS-80 Co- 



System Monitor — an essential pro- 
gram for the TRS-80 level II. 
It permits the user to penetrate and 
manipulate the contents of the memo- 
ry. It can question the input and output 
ports, the CPU registers, control the 
mass storage drives and much more. 
Here's a partial list of commands: Ex- 
amine and modify memory. Display 
memory in Hex, ASCII, or CPU regis- 
ters. Enter ASCII in memory. Fill 
memory. Move block of memory. Veri- 
fy memory. Locate string. Branch to 
routine. Go to and execute (two break- 
points available). Hex arithmetic. 
Question input ports and command 
output ports. Tape Cue, on/off. Read 
file in memory (bias available). Write 
file from memory. Memory test. 
Cassette $38.95 
Floppy Disk $64.95 

□ A2FP: A PLOTTING 
PROGRAM FOR APPLE II 

This PRS program is a "modern age" 
tool for students, engineers and re- 
searchers. A2FP plots 2-dimensional 
functions in HIRES graphics. Uses the 
full screen (280 x 192 points.) Plots on 
Cartesian coordinates. Gives complete 
parameters of plotted curves. Super- 
imposes plots. Offers many plotting 
modes. 
Cassette $34.95 

□ T/PM: A TRANSIENT 
PROGRAM MANAGER FOR 
THE TRS-80 

T/PM is a disk operating system simi- 
lar to those used by main frames. It is 
written to utilize the full power of the 
Z-80 instruction set. 
At last, software can now be transpor- 
table. All programs written for the 
C/PM system can now be relocated 
just once to run on the TRS-80. If a 
program is written for the TRS-80 us- 
ing T/PM or other CP/M* like DOS, 
you can now run that program simply, 
without patches. 
Floppy Disk $149.95 
Trademark of Digital Research 

Circle 308 on inquiry card. 



PROGRAMS 





^^^^ 


PRS— THE PROGRAM OF THE 


1 




' yiM, 


f MONTH CORPORATION 




^"^^ 


257 Central Park West, Mew York, N.Y. 10024 


SOFTWARE 


PRICE 


QTY. 


TOTAL J 


1. MICROFI 
Management 


LE: A new Data File 
System 

□ Cassette 


$ 49.95 






□ Floppy Disk 


$ 64.95 






□ Documentation only 


$ 10.00 






2. DDS II Tl 
Debugging S 


ie Famous Dynamic 

ystem 

□ Cassette 


$ 49.95 






□ Floppy Disk 


$ 64.95 






□ Documentation only 


$ 10.00 






3. CORE: TIi 
System Mon 


e TRS-80 Co-Resident 
tor 

□ Cassette 


$ 38.95 






D Floppy Disk 


$ 64.95 






D Documentation only 


$ 10.00 






4. A2FPThe 
Plotter 


APPLE II Function 

□ Cassette 


$ 34.95 






□ Documentation only 


$ 10.00 






5. T/PM: The 
Progam Man. 


TRS-80 Transient 
iger 

D Floppy Disk 


$149.95 






□ Documentation only 


$ 50.00 






□ Send me list of dealers in my area 


Sub Total 




□ Check enclosed 

□ VISA □ Master Charge D U.P.S. COD 


Less 5% 
with order 




Account * Exp. Date 


N.Y. State 
sales tax 




E 

j 
f. 


lank * 


Total 






ignahire 




ly Computer configuration (specifying disk system) 








I> 
C 

f 


lamp. * 


.orporation 
Lddressino P.O. 


Telephone , 
Rnx) J 


City 


State Zip ™ [ 


<o | 




Circle 308 on inquiry card. 













BYTE lune 197'J 47 



I MicroPro 



MicroPro International Corporation 
The Producers of WORD-MASTER™ and SUPER-SORT™ 

Proudly Present 




Here it is! The most complete, totally integrated, word processing system software you've ever 
seen on a microcomputer. WORD-STAR™ really shines in ease of use, with its unique, 
dynamically activated menu scheme that allows typists to become word processing operators 
in minutes instead of weeks. For only $495, your 8080/8085/Z-80 with any CRT device becomes a 
word processing system with the features of a Lanier, Wang, Vydec, Xerox, etc, for far less cost. 

Features like ON-SCREEN VISUAL TEXT COMPOSITION, with word wrap, plus dynamic justifi- 
cation and remargination. Imagine being able to type without hitting return, and as WORD- 
STAR™moves you to the next line, the preceding line is redisplayed, justified to your left and 
right margins! Center a line with a keystroke! Set BOLDFACE and/or underline even in mid 
paragraph! Rejustify text to new margins, on-screen, at will! 

DYNAMIC PAGINATION shows the printer page breaks during text entry, correction, or review. 
Dot commands control vertical page layout, CONDITIONAL PAGINATION, page HEADINGS, 
page NUMBERS, etc. The integrated PRINT COMMAND can print selected pages only, pause 
between pages for letterhead loading, and drive any CP/M* list device. WORD-STAR™ runs with 
the CP/M interfaced printer and terminal of your choice. 

SPECIFICATIONS: status line showing page, line, column of cursor; variable menu suppression for experienced operators; dynamic display 
of text during entry or on call permits CRT preview of printed copy; full disk buffering (document sizes up to diskette capacity); multiple 
file/disk edits In a session; CP/M file compatible — also useful for data entry, editing programs, etc. Commands include: cursor 
up/down/left/right; scroll line/screenful, up/down, once/variable rate; insert/overtype; delete character/word/line left/right/entire; variable 
margin set/release; set/clear tab stops; justify/ragged right; block move/copy/delete; search/replace once/n times/global/selective/whole 
words only; write to/read from additional files; set/go to any of 10 place markers. Additional support provided for CRT's with inverse 
video/dual Intensity, line Insert/delete, and erase to end of line. Dialog interface for easy installation. AND MORE! 

Registered WORD-MASTER™ users can get a $100 discount from us or your participating dealer 
when upgrading to WORD-STAR™ Offer good for a limited time only. 

WORD-STAR™operates with any CP/M* operating system, 32K, and either a memory mapped 
video board or any CRT TERMINAL with cursor control and clear screen (Hazeltine, Lear-Siegler, 
Soroc, Microterm, Hewlett Packard, Infoton, Beehive, Processor Tech VDM, IMSAI VIO, SD 
Systems, Altos, Dynabyte, GNAT, etc). We ship on 8" IBM, Micropolis II, or Northstar diskette. 



Other fine MicroPro Products include: 

Software/Manual 
Word-Star™ $495/25 

Word-Master™- $150/25 

Tex-Writer™ $ 75/15 



Super-Sort™! 
Super-Sort™ II 
Super-Sort™ III 



Software/Manual 
$250/25 
$200/25 
$150/25 



MICROPRO INTERNATIONAL CORPORATION 

1299 4th Street, San Rafael, California 94901 

Telephone (415) 457-8990 Telex 340388 Dealer/OEM inquiries invited 

"PROFESSIONAL QUALITY SOFTWARE YOU CAN COUNT ON, NOW" 

See Demonstrations at NCC. Personal Computing Booth 42 

"CP/M is a trademark ol Digital Research Corp. 



Cispcis's 
Circuit Cellar 



The circuit described 
is intended only for ex- 
perimentation with a 
unique form of input. 
It should not in any 
way be used for diag- 
nosis of bodily func- 
tions. 



Mind Over Matter 

Add Biofeedback Input to Your Computer 



I wouldn't want you to get the wrong 
idea from photo 1. I haven't given up com- 
puters and taken up telling fortunes. )ust 
consider the photo as a slightly dramatized 
introduction to a topic we've all heard of, 
but know so little about: biofeedback. In 
layman's terms, this simply means having 
the capability to monitor (in this case 
electronically) physiological processes. 

There are a variety of devices on the 
market referred to as brain wave monitors. 
Brain waves are but one of the many sources 
of energy categorized under biofeedback. 
Their common relationship is that they are 
all electrical pulses which run through the 
body as a result of brain or muscle activity. 
Nerves and muscles within the body generate 
electricity by electrochemical action similar 
to that in a battery. 

When we want to lift an arm, the brain 
sends an electrical pulse to the muscles in 
the arm. Proper magnitude and duration of 
the signal result in coordinated activity. 
The actual energy that is transmitted from 
the brain is very small: on the order of a few 
hundred microvolts at the most. The most 
familiar of these signals is the voltage gen- 
erated by the pumping of the heart. A graph 
of this voltage versus time is called an electro- 
cardiogram (abbreviated EKG or ECG). An 
EKG looks like a spiked waveform, with 
periodic response equivalent to a heartbeat. 
Many individual muscle contractions con- 
tribute to a frequency spectrum of 0.1 to 
100 Hz, with an amplitude of about 5 mV. 

Another group of signals are the voltages 
generated using large skeletal muscles like 
biceps and triceps. A recording of these 
voltages is called an electromyograph or 
EMG. Occurring only when the muscles 



contract, not periodically like the heart, 
the frequencies are very low, but the volt- 
age is higher: about 5 to 10 mV. Because 
of their magnitude, these signals are the 
easiest to monitor. 

The last important biomedical signal is 
composed of very low amplitude voltages 
within the brain itself. These are recorded by 
the EEG (electroencephalograph). They ex- 
hibit both periodic and pulse mode. The 50 
juV signals occupy a band that is generally 
between 1 and 30 Hz. The signals are further 
subdivided into delta, theta, alpha, and beta 
waves. These classifications signify activity 
in defined frequency bands. Differences in 
activity seem to reflect particular personality 
tendencies. 



Steve Ciarcia 
POB 582 
Glastonbury CT 06033 




Photo 1 : This photo simulates a crystal ball reflection to emphasize the con- 
trol capabilities associated with this article. 



June 1979 © BYTE Publications Inc 49 



iO 



e 2 E> 




• — m> E ouT 



■(' 



)( 



E2 " E, 



Figure 1 : Differential input instrumentation amplifier configured from multi- 
ple, single-ended, operational, amplifier elements. 



Copyright © 1979 by Steven 
A Ciarcia. All rights reserved. 



Monitoring Internal Electrical Activity 

Consider the activity within the brain 
or the muscles. Each neuron is producing 
minute voltages. In combination with the 
voltages of billions of other cells involved 
in similar activities, the result is fairly 
significant. The situation can be compared 
to that of a football stadium before, during, 
and after a game. A listener outside of the 
stadium would not hear the shouts of a 
few individuals, but 50,000 people shouting 
is quite another story. A further considera- 
tion is the progress of the game. Loud noise 
coming from a particular section of the 
stadium during the game signifies approval. 
This same ovation, at the conclusion, can 
imply the identity of the winner. Observa- 



tion and association are the keys. EKG, 
EMG, and EEG readings must be carefully 
interpreted. 

All of the signals discussed thus far can 
be monitored with surface electrodes. When 
the biceps is moved, a small voltage which 
can be measured will be produced across it 
(ie: referenced to some other point on the 
body). Monitoring this voltage requires a 
special amplifier with extremely high input 
impedance and 60 Hz rejection. Care must be 
taken to use a device which will not load 
the signal being sensed, nor have such a 
low signal to noise ratio that one cannot 
discern intelligible information. The unique 
device which satisfies these requirements is 
called an instrumentation amplifier. Any 
product which is sold to monitor brain 
waves, EKGs, etc will contain an instrumen- 
tation amplifier. 

Instrumentation amplifiers are often called 
differential or data amplifiers. They are 
closed loop gain blocks with accurately 
predictable input to output response. They 
are especially configured to have extremely 
high input impedances and common mode 
rejection which makes them ideal for ampli- 
fying low level signals in the presence of 
large common mode voltages. Figure 1 
shows the schematic of a typical instrumen- 
tation amplifier built from such standard 
operational amplifiers as LM301s or 741s. 

This common circuit consists of three 
op amps. ICa and ICb are inserted as high 
impedance input buffers which provide a 
differential gain of 1 + 2R1/R in and unity 
common mode gain. ICc is a unity gain 
differential amplifier which combines the 
voltages from the other amps. The ratio 
of the differential voltage gain of an amp- 
lifier to its common mode gain is enhanced 



Table 7: Comparison chart of three different amplification elements. 







Operational 
Amplifier 


Instrumentation 
Amplifier 




Isolation 
Amplifier 


Symbol 




3>- 


=D^ 




3»- 


Feedback 
Configuration 


1. 
2. 


User defined feedback such 
as voltage or current. 
Can be configured to 
provide dV/dt, jVdt, 
log V, etc. 


1 . Committed feedback. 

2. Gain adjustable 
within fixed limits. 


1. 
2. 


Committed feedback. 

Gain adjustable 
within fixed limits. 


Basic 
Applications 


1. 

2. 

3. 


General purpose amplifi- 
cation element. 
Buffer. 

Analog computational 
element. 


1 . High accuracy analog 
sense amplifier. 


1. 

2. 
3. 


High accuracy analog 
sense amplifier. 
Analog safety isolator. 
Prevents ground loops. 



50 June 1979 © BYTE Publications Inc 



by selecting low feedback resistors to reduce 
the effects of input offsets. A problem arises 
when selecting matched components to 
build this otherwise cheap circuit. Slight 
variations in resistors and op amps can make 
the difference between a working or non- 
working circuit. (More on that subject will 
be discussed later.) 

EEG and EMG monitoring requires an 
instrumentation amplifer because of the 
low input levels; but, when used in a bio- 
medical application, a further modification 
to the amplifier's internal design is necessary. 
The special device is called an isolation 
amplifier. Transformers or optical couplers 
inside the amplifier block isolate the sense 
inputs of the amplifier from the output 
circuitry. This means that a 2uV signal 
could be monitored on a 2000 V transmis- 
sion line and the output connected directly 
to an analog to digital converter input on 
your computer. The protection works both 
ways. This is why any connections to the 
body are done through isolation amplifiers. 

An isolation amplifier is to analog signals 
as an optoisolator is to digital signals. It 
prevents ground loops from the data analysis 
equipment (ie: your computer) through the 
subject. When the electrodes are attached, 
skin contact resistance is very low: only a 
few hundred ohms. A leakage current of 
just lOOjuA can be fatal. Table 1 sum- 
marizes the differences between the ampli- 
fiers we've discussed. 

Choosing an Isolation Amplifier 

There have been many articles on the 
subject of alpha brain wave and muscle 
monitors; some even include circuit diagrams 
for construction of the interfaces. The 
major thing these articles lack is a caution 
about matching components, and the critical 
importance of proper layout. The circuit 
of figure 1, if breadboarded in the usual 
fashion, wouldn't have a chance of working 
on 50 uV levels. Even the testing of a hand- 
ful of components to obtain matched pairs 
would be useless without concise wiring 
and plenty of ground plane shielding to 
reduce 60 Hz interference. Personally, I 
don't like to present circuits with so many 
strings attached that it takes divine inter- 
vention to make them work. 

The final most important consideration 
in this undertaking is to not get electrocuted 
because of sloppy technique. At this point 
I'd like to draw the line between this article 
and other construction oriented articles. A 
cheap method of attaining minimal isolation 
is to use batteries to power an instrumenta- 
tion amplifier. This sounds fine in theory, 
but it is very risky in practice. Too often a 



©VECTOR 
PACKAGING SYSTEMS 
SAVE TIME & MONEY! 



New ANYDIP 

8804, $21.95 t !« 1" 




.eaaaaeaaa 
Saaaaaaaa 

IJJLJ.IJ-IJ A3 

-iiiiii).*" 



8802-1 , $21.95 



S-100 CARDS 

Five models available. Universal tinned buses, pads or 
plain. 0.042 inch diameter holes on 0.1 inch grid for 
mounting anything anywhere. For interface, memory, 
breadboarding. 

R681-2 RECEPTACLE FITS 8803 MOTHERBOARD 

Model R681-1 has 0.062 inch long 0.025 inch square tails. 



TEFZEL* Insulation Wire Wrapping Tools: 



'J. s. & 
ign pater 






daisy-chain wraps 

P184 with 100 



J Up to 4X faster. 

• Heavy insulation. 

P184-4T with NiCad 
batteries, recharger, 100' 
of wire: $105.00. 
wire, $30.00. 



BEAUTIFUL VP2 ENCLOSURE-supplied completely 
assembled for packaging. 



S-100 based systems. Clear 
aluminum with blue vinyl 
finished shcle-ofl sides, top, 
and petforated bottom covei 



I 



removable fronl and reai 
panels, adjustable 
connector/Motherboard 
mounting struts, card 



VP2, $1b9.00. VP1, 
cards mount perpendicular 
in front. $163.00. BP17-9, 



;ory back pai 



Low noise model 8803 S-100 Motherboard not shown. 
Eleven positions ready for connectors. Glass epoxy, 
soldei masked etched circuitry for passive and active 
termination, twelve tantalum capacitors and 
instructions. $29.50. 

*DuPont p r i ces subject to change without notice, 
trademark 

Send for complete data. Packaging systems for other 
card sizes and systems, rack mounting are available 
VECTOR ELECTRONIC COMPANY, INC. 

12460 Gladstone Avenue, Sylmar, CA 91342 
telephone (213) 365-9661; TWX (910) 496-1539 

ml iiunibrr C27U01 



Circle 381 on inquiry card. 



lune 1979 © BYTE Publications Inc 51 




Photo 2: The Analog Devices 284 J isolation amplifier used in this article. 




Photo 3: View of the prototype circuit described in figure 2. 




Photo 4: Pregelled American Optical electrodes of the type used in this 
article. They are available from medical supply outlets. 



standard power supply is substituted for 
the batteries, or a loosely wired component 
falls against a live wire on another circuit. 
Fortunately we can get both safety and 
performance if we don't assume that every- 
thing has to be constructed from scratch. 
It is a much better idea to take advantage 
of commercially available isolation ampli- 
fiers. (You wouldn't build a 4 bit digital 
counter from transistors, would you?) A 
perfect choice for this application is the 
Underwriters Laboratory approved Analog 
Devices 284J isolation amplifier shown in 
photo 2. It provides plus or minus 2500 V 
isolation, 110 dB common mode rejection, 
and a gain of 10 V per volt. For the ex- 
perimenter this eliminates building the only 
tricky section of the interface. An added 
benefit is that the isolation is now an in- 
ternal function of the 284J and not a 
function of installation. Since the ultimate 
aim of this article is to produce a biofeed- 
back interface for a computer, I don't 
want anyone getting injured in the process. 

Biofeedback Computer Interface 

Figure 2 is the schematic of a circuit 
which is capable of sensing the minute 
voltages we've been discussing, and signify- 
ing to the computer when a present level has 
been attained. This is a bare bones, basic 
interface designed specifically for signal 
acquisition. It would seem to me that this 
is the area which would give most people 
problems. The circuit consists of an isola- 
tion amplifier module, two gain stages, and 
a comparator to sense peak level. The com- 
pleted circuit is shown in photo 3. 

All connections to the body are done 
through Ml. The high and low input ter- 
minals are attached across the area to be 
monitored. If it is an EKG output, you 
should attach the terminals as shown. For 
biceps input, these two probes would go 
on the upper arm and the guard connected 
to the wrist. All leads between the body 
and the board must be shielded or 60 Hz 
will be all that is seen on the output. Gain 
on the 284J amplifier is set by connecting 
a resistor between pins 1 and 2. When they 
are shorted as shown, the result is a gain 
of 10. 

ICs 1 and 2 are configured as common 
inverting amplifiers, each having a gain of 
10. Since the signals we want to amplify 
are relatively low frequency AC, a capacitor 
is attached at the input of the first amplifier 
to filter out the DC component of M1 's 
output. In most cases of muscle monitoring, 
this total gain of 1000 is sufficient. Picking 
up brain waves will require additional 
amplification. Changing the 100 k£2 resistor 



52 lune 1979 © BYTE Publications Inc 



1, 

-V 



ANALOG OUTPUT<^ \- 



IM 



+ V 
T_ 




OFFSET ADJUST 
50K 



47K 

-Wr- 



470K 
-AAV- 



Figure 2: Schematic diagram of biofeedback 
monitor. IC4 is a type 284] isolation ampli- 
fier costing $59 plus shipping from Analog 
Devices, Rte I Industrial Park, POB 280, 
Norwood MA 02062. + V is anywhere from 9 
to 15 V and -V is from -9 to -15 V. All 
capacitors are 100 V ceramic unless other- 
wise noted. All circuitry should be mounted 
on a ground plane to reduce AC pickup. 
Connecting wires should be as short as pos- 
sible. The electrode cable must be shielded 
to obtain proper operation. 




IOOK 
-A<W — 



O.OOI 



+ 5V 



R2 
20K 

TRIGGER 
.LEVEL 
ADJUST 



JZJ 




TO COMPUTER PARALLEL 
INPUT PORT BIT 




+ 5V 



LED 



on IC2 to 1 M£2 will increase it another 
order of magnitude to 10,000. Be aware 
that raising the amplification also raises 
the noise on the output. Capacitors in the 
feedback loops are used in an attempt to 
keep this noise to a minimum. The amplified 
analog signal is available at pin 6 of IC2. 
It can be attached to an oscilloscope if you 
care to watch yourself in action. 

IC3 and IC4 are the interface to the com- 
puter. IC3 is a comparator with normally 
high output. When the signal level from IC2 
exceeds the trigger voltage set on R2, IC3 
pin 6 goes low, firing the one shot IC4. This 
signal is in turn connected to a parallel 
input bit of the computer. Offset potenti- 
ometer R1 is adjusted to give V on IC2 
pin 6 when Ml is removed and M1 pin 10 
is grounded. 

Using the Muscle Monitor 

Monitoring muscle voltages is much 
easier than monitoring brain waves. To ade- 
quately accomplish the latter, sharp band- 
pass filters which can separate brain waves 
from other signal sources must be added to 



Number 


Type 


+5 V 


GND 


+V 


-V 


IC1 


LM301A 


- 


- 


7 


4 


IC2 


LM301A 


- 


- 


7 


4 


IC3 


LM741 


7 


4 


- 


- 


IC4 


74121 


14 


7 


- 


- 



Table 2: Power pin connections for figure 2 schematic. 



figure I. As it stands, it cannot differentiate 
between alpha or theta waves and is opti- 
mized for muscle pickup. 

To sense the electrical activity of a 
muscle such as the biceps, three electrodes 
are necessary. It is not enough to merely 
wrap three wires around your arm. Special 
electrodes such as the type shown in photo 4 
are necessary. These are referred to as pre- 
gelled silver-silver chloride disposable elec- 
trodes and they are available through medical 
supply outlets. The electrodes (shown 
in photo 5) have a spongy center section sat- 
urated with a gel to reduce skin contact 
resistance. The best results will be obtained 
by using these or similar attachments. 

In the case of the forearm muscles, the 
Text continued on page 56 



lune 1979 © BYTE Publications Inc 53 



CAST A SPELL 



t 







*%^ 



^ 



«* 



* 
W 
























^ 



■l 






r £7TTT 



Ty«5 



<<......,,,, 





If you've written software 
in Altair Basic, you've written 
spells" for the Exidy Sorcerer. 

Now, make it pay off! 



There's never enough software. 

Particularly good software. 

That's why Exidy is sponsor- 
ing a software contest where 
nobody loses. 

Altair programs run on Sorcerer, 

The Sorcerer computer's 
Standard Basic is compatible with 
Altair 4K and 8K Basic. So our 
contest is open to programs 
— we like to think of them as 
"spells" or "Sorcery"— written 
in all three of those Basic versions. 
Trade one of yours for one of 
ours. Just for entering a program 
in our contest, we'll send you a new, professionally 
written and documented program. Free. It's a 
classic game of concentration that's a fun mind- 
stretcher for both kids and adults. Plus you'll 
get our new 20" by 24" color poster. 
And maybe 99 more good programs. We'll publish 
a bound book of the best programs entered — up 
to 100 of them, with full credit to each author. If 
you enter you can have a copy for just the printing 
and mailing cost. And if your program is included, 
you get the book free. 




WIN THIS EXIDY SORCERER. 



And maybe a free Exidy 
Sorcerer: Submit one of the four 
programs judged "best," and win 
a free Sorcerer computer. (Or 
choose Sorcerer accessories of 
equal value.) There'll be one 
winner in each of the following 
categories: Business, Education, 
Fun & Games, and Home/ 
Personal management. 

Test-run your entry free. 

Take your program to any 
participating Sorcerer dealer 
if you want to give it a test run. 
At the same time, maybe you'll 
want to jazz up your program to take advantage of 
Sorcerer's state-of-the-art features. These include 
512 by 240 high- resolution graphics; user-defined 
characters; and dual cassette I/O, among others. 
You can turn in your entry right at the dealer's. 
And collect your poster and new program on 
the spot. 

Enter now. Send us your entry with the coupon. 
Or visit your dealer. But cast your best spell at 
Exidy now. And see if you can't make a free com- 
puter appear on your doorstep. 



RULES: 

1) Entries, including documentation, must 
be printed by computer or typed double 
spaced on 8V2 by 11 paper, with your name 
on every page. 

2) Enter as many times as you like. This cou- 
pon, or a copy of it, must be completed and 
attached to all entries. 

3) Enter at any participating Exidy Sorcerer 
dealer, or mail entries postpaid to the ad- 
dress on this coupon. 

4) Entries must be received by midnight, 
Aug. 31, 1979. Winners will be notified by 
Nov. 30, 1979. For a list of winners, send a 
self-addressed, stamped envelope marked 
"Winners List" to the coupon address. 

5) You warrant, by your signature on this 
coupon, that all program and documen- 
tation material included in your entry is 
entirely your own original creation, and that 



no rights to it have been given or sold to any 
other party, and you agree to allow Exidy to 
use, publish, distribute, modify, and edit it 
as it sees fit. 

6) All entries become the property of Exidy, 
Inc. No entries will be returned, nor any ques- 
tions answered regarding individual entries. 
No royalties, payments or consideration 
beyond the items set forth in this advertise- 
ment will be given to any entrant. 

7) Judging will be by a panel of experts cho- 
sen by, and including representatives of, 
Exidy, Inc. Judges may assign programs to 
whichever entry category they consider ap- 
propriate. Decision of the Judges is final. 

8) Employees of Exidy, Inc., its dealers, dis- 
tributors, advertising agencies and media 
not eligible. Void where prohibited, taxed or 
restricted by law. 




EXIDY, INC. 

969 W. Maude Ave. 
Sunnyvale, CA 94086 



Gentlemen: 

Here's my "spell." Send me my free program and 
poster. If I win, send my Exidy Sorcerer computer to: 



NAME^ 



. STATE - 



. ZIP_ 



DAYTIME PHONE_ 



TITLE OF PROGRAM . 



CATEGORY D Business D Fun & Games 

□ Education D Home/Personal Management 



Circle 133 on inquiry card. 



SIGNATURE 

Copyright 1979, Exidy, Inc. 




Photo 5: The electrode has a saturated spongy center which serves to reduce 
skin contact resistance. It Is necessary to use this type of connection to the 
body if satisfactory results are to be obtained. 



Text continued from page 53: 
high electrode (shown in photo 6) is placed 
on the wrist, the low electrode on the upper 
arm, and the guard on my chest, close to 
the shoulder. When the muscles of that arm 
are flexed, a large pulse will appear at the 
analog output terminal of the interface. It 
is best seen with an oscilloscope. Every 
movement produces some noticeable devi- 
ation in the trace. If the trigger adjustment 
R2 is set above the ambient noise at the 
peak of this large pulse, it will fire the one 
shot every time the muscle is flexed. Ac- 
tually, adjustment can be much finer. With 
the electrodes placed as in figure 1 (the 
guard is on my chest again), they can pick 
up something as insignificant as moving 
your eyebrows or gritting your teeth. The 
setting is made higher than the level produced 
when talking or breathing, so that it can 



be used as a suitable control input to the 
computer. 

Biofeedback Computer Control 

Control is the name of the game. Con- 
sider someone who is almost totally 
paralyzed. This system could be used (per- 
haps by sensing eyebrow movement) as an 
on/off switch to a more sophisticated con- 
troller. I've seen one computer aid for the 
handicapped which consisted of an alpha- 
numeric sequencing display. Letters could 
be individually chosen and eventually com- 
bined to produce whole written messages. 
A lot can be accomplished with a single 
bit of input if the software is written with 
time as a pertinent consideration. A single 
switch could signify a particular choice if 
each was presented in sequence with time 
allotted to answer. That is the premise of 
the BASIC program in listing 1. 

This is a simple program written in 
Micro Com 8 K Zapple BASIC. It presents 
the operator with a series of seven choices, 
and branches to special subroutines as a 
result of these choices. It presumes that the 
user can see and signify positive response 
by a high logic level on bit of input port 3. 
This bit is tied to the output of our eye- 
brow twitch monitor. Output port 17 has 
seven lights attached to bits 1 through 7 
(bit not used). The program lights the 
first light, and the user decides whether or 
not the computer should perform the 
activity signified by bit 1. If so, the user 
merely furrows his or her brow and the 
program jumps to the designated activity. 
In this simple illustration, I merely flash 
the light a few times to indicate which 
was chosen. Should the operator not care 
for the first choice, the program sequences 
to the next choice, and so on. Before hook- 



Photo 6: To monitor the 
electrical activity of the 
muscles in the arm, elec- 
trodes should be placed 
as shown. 




56 |une 1979 © BYTE Publications Inc 



B&SVo 




lor? 



One of 
three exciting 
new options 
from Ohio Scientific. 

Color> With it there is a big 
difference. And now, Ohio Scientific 
offers a lustrous 16 color option on 
all its C2 Series Computer Systems, 
past and present. New orders for 
C2'4P and C2-8P's can now request 
the color option. Upgrade kits are 
available for all existing C2s. When 
coupled with the C2's demonstrated 
high resolution graphics, the new 
color display is striking. 

The relatively easy add-on of color 
and other options discussed here are 
interfaced through the new 540 B 
video board and are realized without 
extensive modification or excessive 
cost because the C2 family of com- 
puters feature exceptional "design 
for the future" modular construction 
that permits one sector of the 
computer to be modified without 
affecting other sectors. 



Sound. 

The sound option 

further enhances enjoyment 

of the C2's while broadening their 

scope of applications. Games of logic 

and dexterity now seem to come 

alive when sound pops out from 

on-screen happenings. 

This new option is implemented 
through the new 542 Rev B keyboard 
available with new C2 orders or as 
part of an upgrade kit. In addition 
to a standard tone generator, this 
new board also contains a D/A (digital 
to analog) converter that takes ad- 
vantage of the power and ultra high 
speed of the C2s 6502 micropro- 
cessor to enable users to generate 
both limited band-width speech and 
, complex musical 
chords. 



AC- 12 Remote 
AC Control System. 

This unique option enables a C2 
user to create a computerized wireless 
home control facility with simple 
effort and at heretofore unheard of 
low cost. The AC- 12 provides a con- 
trol signal on the home's AC power 
line not unlike the manner in which 
wireless intercoms function. The 
AC- 1 2 will plug into any C2 computer 
that has the new 540 B video board. 
The basic system contains a com- 
mand console and four remote mod- 
ules. The remotes can be appliance 
modules that can switch up to 15 
amps, lamp modules that can provide 
on-off, dimming and brighten- 
ing, or wall switch modules. 
The AC- 12 has a special 
Home Control OS-65D 
V3.0 Mini-Floppy 
Disk Operating System 
that provides a wide 
range of capabilities 
not the least of which 
is "Foreground and 
Background" oper- 
ation. This allows 
the computer to 
monitor time and 
inputs for the Home Control System, 
while running other BASIC 



programs 



New options: 




Color and Sound Option on C2-4P and 
C2-8P Add $200 

CA-11B 540B color video board for 
system upgrades (does not include 542B 
sound keyboard) $225 

CA-11C 540B color video board and 
542B sound keyboard. (For upgrades) 
$299 

AC-12 Remote AC control system, in- 
cluding console, four remotes and 
software. For use on any system with a 
540B video board $175 

Color. Sound. AC Remote Control. 
Three more examples of Ohio Scientific 's 
continuing enhancement of its computer 
products and user benefits. 
Contact your local Ohio Scientific dealer. 



Circle 290 on inquiry card. 



1333 S. Chillicothe Road* Aurora, Ohio 44202 
(216) 562-3101 



100 
110 
120 
130 
140 
150 
160 
170 
180 
190 
200 
210 
220 
230 
240 
250 
260 
270 
280 
290 
300 
310 
320 
330 
340 
350 
360 
370 
3B0 
390 
400 
410 
420 
430 
440 
450 
460 
470 
480 
490 
500 
510 
520 
530 
540 
550 
560 
570 
580 
590 
600 
610 
620 
630 
640 
650 
660 
670 
680 
690 
700 
710 
720 
730 



REM This prosiram demonstrates haw the computer can be 

REM used to provide contol output from an EMG digital input 

REM EMG input is on port 3» bit 0. No stimulus is loaic 

REM while muscle aetivitu is sianified by loaic 1. 

REM Test apparatus uses 7 liahts attached to bits 1 thru 7 of 

REM output port 17. The computer seauences thru the liahts until the 

REM operator signifies a choice by •--■"THINKING" — about it !!! 

REM 

REM Copyriaht 1979 STEVE CIARCIA 

REM 

REM 

FOR B=0 TO 300 i NEXT D 

REM 

REM This routine seauentially flashes bits 1 thaouah 7 af part 17 

REM It only exits when an input flaa has been set by the EMG monitor 

B = l 

X=2"B S0UT 17 iX 

GOSUB 440 

IF F-l THEN OUT 17,1 JGOTO 320 

B=B+1 !IF B>7 THEN GOTO 210 

GOTO 260 

REM 

IF B==l THEN GOSUB 670 JGOTO 570 

IF B=2 THEN GOSUB 670 JGOTO 580 

IF B=3 THEN GOSUB 670 JGOTO 590 

IF B~4 THEN GOSUB 670 JGOTO 600 

IF B=5 THEN GOSUB 670 JGOTO 610 

IF B=6 THEN GOSUB 670 JGOTO 620 

IF B=7 THEN GOSUB 670 JGOTO 630 

IF B>7 THEN STOP 

REM 

REM 

REM This routine 

REM If si3n3l is 

A=0 !F=0 

I=INP<3>-254 

IF I>0 THEN 490 

A=A+1 J IF A>200 THEN RETURN JREM aive operator time to respond 

GOTO 450 

F~l 

Q=INP(3) 

IF Q>254 THEN 500 

RETURN 

REM 

REM 

REM These 7 routines can be replaced with outputs to 

REM individual control proarams. 

PRINT"b=l" JGOTO 210 

PRINT'b-2" JGOTO 210 

PRINT"b=3" JGOTO 210 

PRINT"b=4" JGOTO 210 

PRINT"b=5* JGOTO 210 

PRINT"b=6" JGOTO 210 

PRINT"b=7" JGOTO 210 

REM 

REM 

REM This routine flashes individual lisht to indicate selection 

FOR T=0 TO 10 

OUT 17rX 

FOR tl=0 TO 50 J NEXT Tl 

OUT 17r0 J 

FOR T1»0 TO 50 JNEXT Tl 

NEXT T 

RETURN 



reads the EMG monitor c 
present it sets flaa F s 



port 3 bit 



Listing 7: BASIC program to sense input 
from the biofeedback monitor. This program 
scans the cursor through several choices and 
waits a short period of time. If the user 
squints or blinks within the allotted period, 
that choice is designated. If it is not designa- 
ted, it cycles to the next choice. This par- 
ticular program just blinks the chosen ob- 
jective to indicate that the interface is work- 
ing. The required body connections for pick- 
ing up eyebrow movement are shown in 
photo I. 

up, the program can be easily tested with 
the muscle monitor by temporarily at- 
taching a normally closed, pushbutton 
switch on port 3 bit 0. 

Conclusion 

All of this effort for a single bit of data 
acquisition may appear unjustified, but it 
can prove to be exceedingly significant in 
situations where no other means of com- 
puter interaction is available. At the least, 
the interface should provide a substantial 
base for biofeedback experiments. With 
additional amplification and filtering to 
monitor brain waves, a whole series of 
challenging experiments come to mind. 
Personal computing need not be relegated 
to the level of canned amusements and 
commercial presentations. A refinement of 
this interface could be the one critical 
design feature which would open the field 
of personal computing to individuals who 
are otherwise physically unable to take 
advantage of it. 

If you have any questions on this or 
any other "Ciarcia's Circuit Cellar" article, 
or just a good idea, please don't hesitate 
to write. While it may take some time, I 
do eventually answer all inquiries. Please 
enclose a self-addressed stamped envelope. 
Next month the "Circuit Cellar" topic will 
be sound generators." 



PET PRINTER ADAPTER 



GET HARD COPY FROM YOUR 
COMMODORE PET USING A 
STANDARD RS-232 PRINTER 




1200B 



1200C 



The CmC ADA 1200 drives an 
RS-232 printer from the PET 
IEEE-488 bus. Now, the PET 
owner can obtain hard copy 
listings and can type letters, 
manuscripts, mailing labels, 
tables of data, pictures, in- 
voices, graphs, checks, needle- 
point patterns, etc., using a 
standard RS-232 printer or 
terminal. 



$98.50 ADA1200B 

Assembled and tested 

$169.00 ADA1200C 

With case, power supply 
and RS-232 connector 




Order direct or contact your local computer store. 
Add $3.00 for postage and handling per order. 

O CONNECTICUT microCOMPUTER 

fjjfj) (=3 150 POCONO RD. BRO0KFIELD. CT 06804 

ILa (203) 775 9659 TLX: 7104560052 



58 



June 1979 © BYTE Publications Inc 



Circle 78 on inquiry card. 




THE $798 
INTERTUBE II 



*w 



I 

•--*' ;: n*r. 



kNl 



a 



■"^^^ 



If s already a big success! 



The party's over for all dumb ter- 
minals and a lot of smart ones 
too. But, at $798 (quantity 25), the 
party's just beginning for Intertec's 
InterTube II. 

Standard features to celebrate in- 
clude a full 24 line by 80 character 
display, 128 upper and lower case 
ASCII characters, reverse video, 
complete cursor addressing and 
control, an 18 key numeric keypad, 
special function keys, blinking, pro- 
tected fields, character and line in- 
sert/delete, editing, eleven special 
graphics symbols, a 25th status line 
which displays the terminal operat- 
ing mode and an RS-232 printer port. 

*$995 Quantity One 



You'll discover even more reasons 
to celebrate when you sit down in 
front of an InterTube II. Our wide 
bandwidth monitor produces crisp, 
sharp chararters everywhere on the 
screen. InterTube's Z-80 processor 
enables a host of operator oriented 
features to boost the efficiency of 
both software and programmers. 
And, InterTube's rugged modular 
design combined with its built-in 
self-test mode insures quick and 
reliable servicing. 

InterTube's price/ performance ra- 
tio can satisfy your requirements 
whether they be a sophisticated 
data entry application or a simple 

Circle 182 on inquiry card. 



inquiry/response environment. So, 
there's really no reason to think 
"dumb" when you can afford to be 
so smart! 

Join the thousands of InterTube 
celebrations going on around the 
country at this very moment. Call 
us at the number below and start 
your own celebration (BYOB — we'll 
bring the InterTube). 



3 



, NTE3TEC 
rDATA 
£ SYSTEMS, 



2300 Broad River Road, Columbia, S. C. 29210 
(803) 798-9100 TWX: 810-666-2115 



UVTI June I'I7>I 



59 



The sales literature for the Apple II lists 
the specifications for the high resolution 
color graphics mode this way: 

• 280 horizontal by 192 vertical reso- 
lution. 

• Four colors: black, white, violet, and 
green. 

• Displays 8 K bytes. 

The specifications don't sound all that ex- 
citing. The resolution seems about right, 
but why are there so few colors? And why 
did they pick green and violet instead of, 
say, red and blue? Well, as it happens, the 
colors in the Apple II high resolution 
graphics can be red and green, or blue and 
yellow, or almost any two complementary 
colors you want. What's more, on many 
color television sets you can obtain as 
many as four colors along with black and 
white, as demonstrated by the accompany- 
ing photograph. 



More Colors 



for Your Apple 



Allen Watson III 
430 Lakeview Way 
Redwood City CA 94062 



The classic approach to computer gen- 
erated color is to generate separate signals 
for the red, green, and blue inputs of a color 
monitor. However, color monitors are ex- 
pensive; it's more economical to use an ordi- 
nary color television set. Now instead of 
generating three simultaneous video signals, 
we have to generate a composite signal that 
resembles the standard broadcast signal the 
television set was designed to receive. 

It's not merely that the signal has to be 
put onto a regular television channel by 
means of a radio frequency modulator; al- 
though that's certainly necessary, there's a 
lot more to it. Since all the fascinating fea- 
tures of the Apple II high resolution color 
graphics are the results of the way the Apple 
II designers solved this problem, let's take a 
look at just what they did. 

The Color Signal 

The standards for broadcast color tele- 
vision signals were established by NTSC 
(National Television Systems Committee) 
and approved by the Federal Communica- 
tions Commission in 1953. In order to re- 
tain the existing system of black and white 
television broadcasting, the committee sys- 



tem adds color information to a signal which 
is practically identical to the black and white 
standard. The resulting composite signal in- 
cludes a black and white component that 
amplitude modulates the television carrier 
frequency in the usual way, and a color 
component which rides on a 3.58 MHz 
subcarrier. 

This superposition of color and black and 
white information is necessary in order to 
crowd a full color video signal into a channel 
whose high frequency response is limited to 
just over 4 MHz. The fact that human vision 
does not resolve image details in color allows 
us to limit the resolution of the color com- 
ponent of the signal to a maximum of 1.5 
MHz. In fact, only part of the color signal 
gets even this much; the rest is limited to 
0.5 MHz. 

This narrow band color signal modulates 
a 3.58 MHz subcarrier which is then added 
to the black and white picture information. 
The color subcarrier modulation is a com- 
bination of amplitude and phase modula- 
tion: the amplitude of the subcarrier cor- 
responds to the amount of color at each 
point on the screen, while the choice of 
color is determined by the phase of the color 
frequency relative to a 3.58 MHz reference 
signal. This reference signal is generated in 
the television set from a burst of 3.58 MHz 
transmitted in the interval between the 
lines of the picture. 

A high subcarrier frequency reduces in- 
terference between the color and black and 
white components because the black and 
white signal contains less energy at high 
frequencies. Interference is further reduced 
by the fact that the subcarrier frequency is 
an odd multiple of half the picture scanning 
rates, both horizontal and vertical. This 
makes any color signal that gets into the 
black and white video reverse polarity on 
successive lines; the interference makes little 
dots in the picture, but the dots on one line 
will have "undots" above and below. These 
will tend to average out when viewed from 
a reasonable distance. 

This is where the signal generated by the 
Apple II deviates radically from the standard 
signal. First of all, the Apple II signal omits a 
technique called interlacing, thus reducing 
the number of horizontal scanning lines by 
half and likewise the amount of informa- 
tion needed to fill the screen. Noninterlacing 
is common among low cost computer video 
displays. The significant deviation from the 
standard, however, is a slight change in the 
horizontal and vertical scanning rates such 
that the interference between the color and 
the black and white components is maxi- 
mized, rather than minimized. This is not as 
strange as it sounds, because this is what en- 



60 



June 1979 © BYTE Publications Inc 




ables the Apple II to generate color graphics 
with a signal made up only of ones and 
zeroes. 

An Example 

To see what this does to our display, 
suppose we try to display two small white 
dots side by side. The smaller the dots and 
the closer they are to each other, the higher 
the highest frequency picture signal going 
into the television set. But everything the 
Apple II puts out at the high end of the 
frequency range gets decoded as color, so 
that, even before our dots are made too 
small and too close together for a black and 
white set to be able to distinguish, some- 
thing else has happened: they have merged 
into a single dot, and it isn't white, but 
color. 

In other words, the resolution we can get 
using this method is somewhat limited com- 
pared with the separate red, green, blue ap- 
proach, although it is produced with corre- 
spondingly less screen memory (ie: 8 K bytes 



compared with 24 K bytes). But even if the 
color interference were minimized, the tele- 
vision set's receiving circuits limit the hori- 
zontal resolution to about 300. Incidentally, 
this is why the Apple II displays only 40 
characters in each line of text; the more 
popular 64 or 80 characters cannot be re- 
solved by a standard color television. 

Bits and Resolution 

As we have seen, the Apple II produces 
color by simply putting its smallest dots at 
the right size and spacing: namely, the color 
subcarrier frequency. Each dot is really a 
half cycle, so the dot rate is twice the sub- 
carrier frequency, or something over 7 MHz. 
Let's see how many of these dots will fit on 
one horizontal line. There is one horizontal 
scan every 63.5 /ds, but part of this time is 
needed to get the electron beam into posi- 
tion to start the next line, and to keep the 
lines in synchronization. The picture signal 
is shut off, or blanked, during this time. 
That leaves about 45 jzs, but just to play it 



Photo I: Apple II display 
showing four colors in 
high resolution mode. 



June 1979 © BYTE Publications Inc 61 



Figure 7 : Colors produced 
by various bit patterns in 
relation to the color refer- 
ence signal. 







Display Byte 






Display Signal 


Color 




1 

































Black 
Shifted black 







1 


1 


1 


1 


1 


1 


1 




White 


1 


1 


1 


1 


1 


1 


1 


1 




Shifted white 








1 





1 





1 





o rn o rn o rn o 


Green 


1 





1 





1 





1 





JJTl^JTLoJ~rLo_ 


Orange 





1 





1 





1 





1 


~~n o rn o rn o n~ 


Violet 


1 


1 





1 





1 





1 


~$\ o rn o m o n~ 

(Note phase shifts indicated 
by arrows) 


Blue 



safe and to make sure that none of our valu- 
able data gets cut off by the television set's 
normal overscan (the picture is set up to be 
bigger than the actual screen so there won't 
be any unsightly black borders), Apple II 
uses only about 40 fis of each line for data. 
This works out to 280 dots per line. In text 
mode, with 40 characters per line, this gives 
a character time of about 1 jus, which corre- 
sponds to the Apple ll's system clock. Each 
character takes seven dot times, five for the 
character and two for spacing between 
characters. 

The question is, exactly what does hori- 
zontal resolution of 280 refer to? Well, we 
can put a single dot at any of 280 different 
positions across the screen, but our dot will 
be colored, since it is a half cycle at the 
color subcarrier frequency. And if we put 
two dots too close together, they merge. 
Obviously, if the two dots are actually 
touching, no set could resolve them - this 
is really a single spot which happens to be 
two dots wide. But even if we put a black 
dot in between, we'll see only one dot, in 
color, because the dot spacing matches the 
color subcarrier frequency. Only by putting 
two or more black dots between our white 
dots will we be able to see a clear separation. 

These relationships are diagramed in fig- 
ure 1 . The color reference signal is shown at 
the top. Any signal component at this 
frequency, even a single dot, will be dis- 
played as colored. Theoretically, a double 
width dot contains no color frequency com- 
ponent, and hence will be displayed as 
white. 

Apple II High Resolution Colors 

Now we can see how the trade-off be- 
tween color and resolution affects the way 
our computer bits are displayed by the tele- 
vision set. But let's look on the bright side: 
with the right bit patterns, we can put colors 
onto the screen. Let's ignore the resolution 



problem for a while and investigate the 
colors. 

If we fill the screen memory with ones, 
the display will be all white; all zeroes 
paints it black. If we alternate ones and 
zeroes horizontally, we have a signal which 
is right at the color frequency, so it is dis- 
played as a solid color. Now comes the in- 
teresting part — what color is it? As I men- 
tioned earlier, the color is determined by 
the phase of the picture signal's color 
frequency component relative to the color 
reference signal, which is generated by the 
television set from the 3.58 MHz color burst 
which we transmit during the horizontal 
blanking interval. So our question becomes, 
"How can we control the relative phase of 
these two signals?" 

First of all, our computer bits are output 
every half cycle of the color reference 
frequency. This means we can change the 
phase by 1 80 degrees by simply inverting the 
bit pattern so that alternating ones and 
zeroes become alternating zeroes and ones. 
Interestingly enough, since the color spec- 
trum is allocated the 360 degrees of possible 
phase angles that we can have, complement- 
ing the bits also complements the color; that 
is, phase inversion amounts to 180 degrees 
of phase shift, and complementary colors are 
1 80 degrees apart. The relation of color to 
phase angle is shown in figure 2. If the alter- 
nating bits are in phase with the color refer- 
ence signal, the color will be yellow-green; 
out of phase bits will give us blue-violet. This 
determines the two colors Apple II specifies 
in addition to black and white. But there is 
another way to change the relative phase of 
our computer bits. 

While we can't do this under computer 
control, we can manually adjust both the 
Apple II video circuit and the color tele- 
vision set so as to change the phase of the 
color reference signal itself. The Apple II 
control is labeled color trim; the television 
set's control for this is usually called tint or 



62 



June 1979 © BYTE Publications Inc 



The Computer Cookbook . 




The Only Computer Reference Book You Need. 
The Only Reference Book You'll Ever Need. 



The only book that gives you all 
the ingredients for a successful 
computer system. Interested in 
the Apple II?™ You'll need an 
FCC-approved RF modulator to 
connect it to your color television 
set. We tell what they are, where 
to get one, and how to hook it up. 

Thinking of using Radio 
Shack's TRS-80™ for a low-cost 
word processing system? You'll 
need an upper-case/ lower case 
modification for the keyboard. 



We'll tell you what it involves, 
where to get it done, or how to do 
it yourself. 

Software? We've sampled 
canned software and will tell you 
what suits our taste. Rather do it 
yourself? We have algorithms in 
our machine-independent 
"Cookbook" language for 
everything from fast sorts to 
phototypesetter hyphenation. 
Plus a crash course in BASIC for 
those who know FORTRAN. And 



much, much more. 

Last but not least: The 
Cookbook Yellow Pages, a 
complete guide to small computer 
services and products. We update 
The Yellow Pages every two 
months— and send them to you 
free with the latest additions, 
corrections, and improvements of 
our white pages. You just plug 
them into our loose-leaf binder. 

Get with The Cookbook. The 
Best is Yet to Come. 



Send me The Cookbook. I enclose $15 pi us $1.50 for shipping, which will be by UPS unless I've marked this form U.S. 

mail ( check here). California residents add $.98 sales tax. Allow up to four weeks for possible out-of-stock 

conditions. Make checks payable to "The Computer Cookbook". Mastercharge and VISA accepted with 13-digit card 
number and 4-digit expiration date. 

Name 

Street 



City 



.State 



-Zip 



Mail to: The Computer Cookbook / P.O. Box 4084 / Berkeley, CA 94704 



Circle 52 on inquiry card. 



BYTE lune 1979 63 



hue. The combined range of adjustment of 
these two controls is usually enough to go at 
least halfway around the color circle of fig- 
ure 2, putting one or the other of our com- 
plementary pairs of colors at any point on 
the circle. Thus we can adjust for any pair 
of complementary colors we want: blue and 
yellow, green-blue and orange, cyan and red, 
green and magenta, or yellow-green and 
violet. So long as we don't require the ulti- 
mate in horizontal resolution, we can have 
any two complementary colors plus black 
and white for our high resolution graphics 
using only ones and zeroes as data. If the 
colors listed above and in figure 2 don't 
seem exactly complementary, it's largely 
because of the broad range of hues to 
which we carelessly apply the name blue. 
If we let the television picture-tube phos- 
phors define our red, green, and blue, then 
the complementary colors are those of 
figure 2. The television set is adjusted such 
that red + green + blue = white. Since com- 
plementary pairs also add together to give 
white, it follows that the sum of any two of 
the three primaries gives the complement 
of the third: for example, the complement 
of red is actually green + blue, or cyan. 

Extra Colors 

Studying the Apple II specifications in 
the light of the National Television Systems 



RED 90° 



BLUE- 
RED 



ORANGE 



MAGENTA 



YELLOW 




YELLOW 
GREEN 



BLUE 



GREEN 



GREEN- 
BLUE 



BLUE- 
GREEN 270° CYAN 



Figure 2: Arrangement of possible colors versus signal phase. The Apple II 
high resolution graphics outputs two complementary colors (colors that are 
separated by 180 degrees on the circle). 



Committee color standards led me to expect 
it to work this way, but that isn't quite the 
end of the story. After I got my Apple II, as 
I was casually watching the random sine 
wave program on the high resolution demon- 
stration tape, there in living color was a dis- 
play with four colors. After a bit of head 
scratching and experimenting with the ad- 
justments on my portable color set, I think 

I have the explanation. 

First of all, the single dot patterns give 
the two complementary colors, just like it 
says in the script. Alternating double dots, 
which ought to be displayed as black and 
white, actually show up as a weaker version 
of the same pair of complementary colors if 
the television set is adjusted normally, that 
is, with the fine tuning just backed off from 
the setting that first produces sound bars in 
the picture. But if I back the fine tuning 
farther away from this setting (any auto- 
matic fine tuning or tint controls should be 
switched off), just before the color signal 
drops out, the weak colors on the double 
dot patterns brighten and shift to another 
pair of complementary colors. The exact 
colors depend upon the setting of the tint 
control, but they are more than 30 degrees 
from the first pair, so if the single dot pat- 
terns give red and green, for example, the 
double dot patterns appear as orange and 
blue. 

It's hard to figure out how the double 
dot patterns get displayed in color since 
they are square waves at half the color 
frequency and ought to contain a zero com- 
ponent at 3.58 MHz. Apparently the video 
detector circuit in the set produces enough 
second harmonic distortion to activate the 
color circuits. Mistuning puts this signal near 
the cutoff of the color bandpass filter where 
there is maximum phase distortion. I tried 
this out on the more expensive television set 
at the store where I bought my Apple II, and 
although it's more difficult to get the adjust- 
ments just right, the extra colors are there. 
Ironically enough, this trick seems to work 
better on cheap sets. 

So there you have it. Whether you prefer 
colors or resolution, the Apple II high reso- 
lution graphics will put out all you can get 
through the antenna terminals of a color 
television set with just different patterns of 
ones and zeroes. To find out what your set 
will do, you need to display vertical lines 
with the single dot and double dot patterns. 
An easy way to do this is to load the Apple 

II high resolution demonstration tape and 
select the program that sums two sine waves. 
When the program asks for two frequencies, 
enter 63 and 64 to get the pattern shown in 
photo 1 . Other numbers you may want to 
try are combinations of 31, 32, 33, 63, 64, 



64 June 1979 © BYTt Publications Inc 



Circle 180 on inquiry card. 



The Intecolor 8070 business system. 
At twice the price, it would still be inexpensive. 



Because ISC is the world's leading manufacturer 
of color terminals, were able to offer unparalleled 
color performance— at phenomenal prices. 

Our 8070 Series I Business System is a perfect 
example of reliable, yet extremely reasonable prod- 
ucts. It's a complete 8080A microcomputer system 
that includes the following standard fea- 
tures: A dual floppy disk drive with 591 K 
bytes of storage; a 1 9" color data display 
with an easily readable 80 characters x 
48 line format; and a 60 CPS Impact 
Matrix printer. All for a remark- 
able *$7000, single unit price. 

And that price doesn't l 

stop at hardware. Intecolor's 
18K Business BASIC in ROM . % 

has 16 digit accuracy and a 



PRINT USING feature that tailors output to any 
specifications. 

If you need greater storage capabilities, choose 
the 8071 —same system, but with a dual double- 
headed floppy disk drive. Giving you 1 182K bytes 
of storage, for only *$800 more, single unit. 

Either way, the Intecolor Series I can relieve 
your business of a considerable amount of paper- 
work, without costing you a great deal of money. 
(Terms— 5% discount for prepay- 
ment, or net 20 days.) 

For more information and 
a complete demonstration, 
see your nearest computer 
store, or contact your ISC 
sales representative. 
Color Communicates Better 






■ 



■ Y< 



' I ' "ft 

H 



■ ■ 






•>W*iuf3 







Unretouched photo of screen 



Furniture not included 



U.S domestic prices 



ISC SALES REPRESENTATIVES: AL: 205/883-8660, AK: (GA) 404/449-5961. AZ: 602/994-5400. AR: (TX) 214/840-2169. CA: Alhambra 213/281-2280. Goleta 805/964-8751. Irvine 714/557-4460, LOS 

Angeles 213/476-1241 . Mountain View 415/964-9300. San Diego 714/292-8525, CO: 303/759-0809. CT: (GAI 404/449-5961. DE: (GA) 404/449-5961 , DC: (VA) 703/569-1502. FL: Orlando 305/425-5505. 

Ft Laucerdale 305/776-4800. Melbourne 305/723-0766, Tallahassee 904/878-6642. GA: 404/455-1035. HI: 808/524-8633, ID: (UT) 801/973-7969. IL: (No.) 312/564-5440, (So, I (MOI 816/765-3337. 

IN: (ILI 312/564-5440, IA:(MO) 816/765-3337. KS: (MO) 816/765-3337, KY: 606/273-3771. LA: 504/626-9701. ME: (GA) 404/449-5961. MD: (VA) 703/569-1502. MA: (GA) 404/449-5961. 

Ml: 313/227-7067 MN: 612/822-21 19. MS: (AL) 205/883-8660, MO: 816/765-3337. MT: (CO) 303/759-0809. NB: (MO) 816/765-3337, NH: (GA) 404/449-5961. NJ: (GA) 404/449-5961. 

NV: (AZ! 602/994-5400, NM: 505/292-1212. NY: (GA) 404/449-5961 NC: 919/682-2383. ND: (MN) 612/822-2119. OH: Dayton 513/429-9040. Cleveland 216/464-81 13. Columbus 614/436-2051. 

OK: ITX) 214/840-2169. OR: 503/620-5800. PA: 4 12/922-51 10. Rl: (GA) 404/449-5961 . SC: 803/798-8070, SD: (MN ) 612/822-21 19, TN: 615/482-5761 . TX: 214/840-2169. El Paso Area (Las Cruces. NM) 

505/523-0601, Houston Only 713/780-2511, UT: 801/973-7969. VT: (GA) 404/449-5961 , VA: 703/569-1502, WA: 206/455-9180. WV: 412/922-51 10, Wl: (IL) 312/564-5440. WY: (CO) 303/759-0809, 

EUROPEAN EXPORT SALES: EUROPE: (MA) 617/661-9424, BELGIUM: Brussels 02-242 36-04, FRANCE: Rueil Malmaison 749-40-37, GREECE: Athens 642-1368. ITALY: Roma 805-647/872-457, 

THE NETHERLANDS: Poeldijk 01749-7640. SPAIN: Barcelona 204 17 43. SWEDEN: Vallingby 08-380-370. SWITZERLAND: Mulschellen 057-54655. UNITED KINGDOM: Bournemouth 0202-293-1 15. 

WEST GERMANY: Munchen 089-31881, AUSTRALIA & NEW ZEALAND: Melbourne 543-2077. Meadowbank 808-1444, Chermside 59-6436. Wellington 64-4585. Auckland 876-570, CANADA 

Datamex. Ltd (Distributor) Dorval 514/636-9774. Ottawa 613/224-1391 Toronto 416/787-1208, Vancouver 604/684-8625, CENTRAL & SOUTH AMERICA & CARIBBEAN: (GA) 404/394-9603. MEXICO: 

Monlerrey 564-876. FAR EAST: (CA) 213/382-1 107. HONG KONG: 5-74221 1, JAPAN: Tokyo 402-8596. TAIWAN: Taipei 02-7026284, MIDDLE EAST: IRAN: Tehran 891148, ISRAEL: Tel Aviv 266-291, 

KUWAIT: Kuwait 438 180/1/2. LEBANON: Beirut 221731 2601 10. SAUDI ARABIA: Jeddah 27790. Ryadh 25083-39732, UNITED ARAB EMIRATES: Sharjah 24068 

For sales and service in other countries contact ISC headquarters in Norcross, GA., U.S. A 

Intelligent SyStemS Corp. □ 5965 Peachtree Corners East □ Norcross, GA 30071 D Telephone 404-449-5961 □ TWX 810-766-1581 




BBBEsam 



APPLE OTHERS: 

You chose the best. 
Now, make it better! 

With our exclusive Superchip (ROM 
firmware) your APPLE can deliver the best 
of both— graphics and text-processing. 

• Full ASCII character set 
(lowercase) 

• 31 other, useful non-ASCII 
characters 

• User-defined characters 
with our Character Edit 
Cassette 

• Enhanced editing capabili- 
ties for program and data 
modification 

And, it works with your 
existing APPLE pro- 
grams—Integer BASIC 
and Applesoft ROM. 

• The Character Edit 
program defines each 
new character in a 
magnified format with 
a few easy key strokes. 

• Since you can now 
build characters, you 
can also create new 
character sets- 
foreign alphabets, 
music, games, whatever. 

NOW YOU CAN ALSO GET 

• Disk Interface Prog ram— Superchip 
now runs with Disk II 

• Word Processor I— a disk-based 
mini-word processing system. 
(Requires Disk Interface Program, above.) 

The Superchip plugs into your APPLE with 
no modification. 




ORDER 
NOW 

I attach check 


SUPERCHIP 
Character Edit cassette 
Disk Interface Program cassette 
Word Processor I cassette 
Shipping Charge (each) 

nr money nrrlpr for $ 


$99.95 
$19.95 
$19.95 
$19.95 
$ .75 


Or, charge my: DVISA □ Master Charge 
Rankf.arrl Nn 


Fxpi ration natp 


Name 






AririrpsR 


City 
Signature? 


State 7 


ip 


Telephone orders accepted with charge card: 
214-358-1307 




CLECTIC CORP. 



2830 Walnut Hill Lane, Dallas, Texas 75229 

A Subsidiary: TANO Corporation 
66 June 1979 © byte Publications inc Circle 1 14 on inquiry card. 



65, and 95. Apparently there is a lot of 
sampling error when the frequencies you 
select don't fit the table the program uses to 
generate the sine waves. If you experiment 
until you find the limits of your particular 
television set, you'll know how to make high 
resolution pictures on your Apple II in just 
about any colors you want. 

BIBLIOGRAPHY 

1. Apple II Reference Manual, Apple Computer 
Inc, Cupertino CA, 1978. 

2. Herrick, Clyde N, Color Television: Theory 
and Servicing, Reston Publishing Co, Reston 
VA, 1973. 

3. Schure, Alexander, Basic Television, revised 
second edition, volume 6, Hayden Book Co, 
Inc, Rochelle Park NJ, 1975. 



Addendum 

The following comments were received 
from Steve Wozniak of Apple Computers: 

Thank you for passing along Allen Wat- 
son 's article on the Apple II high resolution 
colors. 

As Allen discussed, Apple II high resolu- 
tion colors are the result of alternating 
zeroes and ones on the screen. The exact 
colors generated depend on the phase (or 
timing) relationship between the display 
signal and the color reference phase. By ad- 
lusting the television controls, any desired 
color pair may be displayed. 

Oddly enough, only the seven least sig- 
nificant bits of the Apple II high resolution 
refresh memory bytes are used (examples are 
shown in figure 1). A simple modification 
allows the high order bit of each to specify 
one of two color sets by generating a 90 
degree phase shift of displayed information. 
(Yet more colors may now be obtained by 
applying the technique suggested by Allen.) 

Adding the High Order Bit Modification to the Apple I 

1. Remove the Apple II printed circuit board from 
its enclosure. 

(a) Remove the ten screws securing the plastic 
top piece to the metal bottom plate. Six 
of these are flat head screws around the 
perimeter of the bottom plate and four 
are round head screws located at the front 
lip of the computer. All are removed with 
a Phillips head screwdriver. Do not remove 
the screws securing the power supply or 
nylon insulating standoffs. 

(b) Lift the plastic top piece from the bot- 
tom plate while taking care not to damage 
the ribbon cable connecting the keyboard 
to the printed circuit board. This cable 
will have to be disconnected from one or 
the other. 




3 jn 



8 



r • ,'. Vr \ \ 







At Last! After Two Years and $250,000 . . . 
Software Programs for the Multi-Billion Dollar 

Real Estate Market. 



There are 240,000 offices nationwide serving the ever-growi 
consider that 60% of the United States' assets are represented 

Until now, there has been virtually no interfacing of data 
processing with this powerful, potent market. Until 
REALTY SOFTWARE CO., that is. We've combined the best of 
both worlds and spared no expense in producing Software that 
is sophisticated enough for the largest Realtor.. .yet extremely 
easy to use. 

In fact, our instruction manual offers Screen-by-screen 
displays enabling a novice to breeze through the entire 
program! 

We've already sold complete systems to Realtors for 
$19,990! You can get in on the action for less than 3% of that 
amount! 

Our floppy disk PROPERTY MANAGEMENT program runs 
on DEC station 78 & 88 series and type 8080 or type Z-80 with 
48K of memory, single density dual disks operating under 
CP/M® , a 132 character printer and a CRT terminal. 

MAIL COUPON OR CALL... 

TOLL— FREE 



ng Real Estate market. Not surprising when you 
in Real Estate properties. 



(800)648-5311 




PROPERTY MANAGEMENT SOFTWARE 
Comes Complete With a 200 Page Instruction 
Manual... With 80 Screen-by-Screen Displays 
for Easy Reference! 

Program includes: 

* Operating Statement Report 

* Balance Sheet Report 

* Rent Book Report 

* Management Fees Report 

* Vacancy Report 

* Late Rent Report 

* Check Writing / Check Register 

* Deposit Register 
& much more... 



ATTENTION 

DEALERS: I Realty Software Co.'s Software systems for 
the Real Estate market can be profitable for you. Inquire 
today for full details on programs including Portfolio 
Analysis, Tax Deferred Exchanges, Income Tax Analysis, 
Cash Flow Analysis, Amortization & Depreciation and much, 
much more. RSVP by phone or mail. 

Circle 323 on inquiry card. 



Mail to: REALTY SOFTWARE CO. 

2126 Lombard St. / San Francisco, CA 94123 

I'll cash in on the multi-billion dollar Real Estate Market! 
Send me your PROPERTY MANAGEMENT software 
complete with 200 pg. manual for $595.00 (shipping & in- 
surance included / CA residents add sales tax). 

□ Check enclosed Bill my □ Master Charge □ VISA 

Acct.#_ 



Exp. date 


Signature 




Name 




Address 


City 
Telephone 


State 


Zip 
(include area code) 



DEALERS!.. Check here □ and attach business card to 
coupon for complete details on all REALTY SOFTWARE 
CO. Software and merchandising support! ! 

BYTE June 1979 67 



(BII-4) 



14 M ._. 

(AIO-M)I— -* 




74LS02 



<<3iX3 



(BII-5) 



m 



Figure 3: Circuit which must be added to the Apple II to add more colors to 
the high resolution display. ^Caution: Adding this circuit voids the warranty.) 
A starred assignment (*) indicates that the connection is made to a pin which 
is out of its normal socket. Besides the connections which are shown, also 
connect pin (B8-I4) to (A8-6) which is out of Its socket, and (B8-7) to 
(A8-I3) which has also been removed from its socket. The power connections 
to the 74LS02 are +5 V to pin 14 and ground connected to pin 7. 



(c) Disconnect the power supply from the 
printed circuit board. 

(d) Remove the #8 nut and lockwasher secur- 
ing the center of the printed circuit board. 
These will not be found on the earlier 
Apple II computers. 

(e) Carefully disengage each of six nylon in- 
sulating standoffs from the printed circuit 
board (seven on earlier versions). 

(f) Lift the printed circuit board from the 
bottom plate. 

2. Above the board wiring method. 

(a) Lift the following IC (integrated circuit) 
pins from their sockets. 



pin should have a single trace going to it. 
Be careful. 





Pin 


IC 


Number 


A8 


1 


A8 


6 


A8 


13 


A9 


1 


A9 


2 


A9 


9 



(b) 



Mount a 74LS74 (dual C-D flip-flop) and 
a 74LS02 (quad NOR gate) in the Apple 
II breadboard area (A1 1 to A14 region). 



(c) Wire the circuit in figure 3. 
3. Below the board wiring method. 



(a) Desolder all pins of socket A8. Lift the 
socket and its 74LS257 integrated circuit 
off the printed circuit board taking care 
not to destroy it. Cut the trace between 
pins 6 and 13 of A8 on the top side of the 
board. Also cut the trace between pins 13 
and 1 5 on the top. Reinsert socket A8 and 
the 74LS257. Be careful. 

(b) Cut traces going to the following pins on 
the bottom of the Apple II board. Each 





Pin 




Pin 


IC 


Number 


IC 


Number 


A8 


1 


A9 


1 


A8 


6 


A9 


2 


A8 


13 


A9 


9 



(c) Connect pin 15 of ICA8 to ground (pin 8 
of ICA7 on the keyboard socket is a 
nearby ground). 

(d) Mount the 74LS74 and 74LS02 as per 
step (b) of the above the board wiring 
method. 

(e) Wire the circuit of the above the board 
wiring method, step (c). All wires are on 
the bottom of the Apple II board and no 
pins need be removed from their sockets 
or soldered to. 

4. Reassemble the Apple II and make sure it is 
operational. If not, check all wiring very carefully. 
Make sure that all integrated circuits are in their 
sockets and properly oriented. 

5. The following color values are now applicable 
to the high resolution subroutines: 



BLACK2 


128 


ORANGE 


170 


BLUE 


213 


WHITE2 


255 



For example, the program below draws an 
orange line from location (10, 20) to (200, 140). 
It is assumed that the high resolution routines are 
already in memory locations hexadecimal 800 
thru BFF. 

X0 = Y0 = COLR 

5 INIT = 2048 : PLOT = 2830 : LINE = 2836 

7 ORANGE = 170 : CALL INIT 
10 X0 = 10 : Y0 = 20 : COLR = ORANGE : 

CALL PLOT 
20 X0 = 200 : Y0 = 140 : CALL LINE 
30 END ■ 



68 June 1979 © BYTE Publications Inc 



Look how soft you can have 
it with a Compyeolor IF 

personal 
computer. 



STAR TREK (* ST) 

Star Trek, Lunar Lander, 
Shoot, andTic-Tac-Tae. 




SAMPLER ( *SA) 
Biorhythms, Concentration 
One-Armed Bandit, 3 more. 



ASSEMBLER (AS) 
Assembler. Assembles 8080 
Assembly Language programs. 
$24-95 



TEXT EDITOR (TE) 

Text Editor. Facilitates pro- 
gram writing and correcting. 

$24. °5 




EQUITY CEQ) 

Depreciation, Depletion, 
Capitalized Cost. 


, 



CUBIC TIC-TAC-TOE { * CU) 
Cubic Tic-Tac-Toe, Swarms. 2 
more I6K programs. 



CHESS ( *CH) 

Chess, Acey-Deucey, Lit 

Five. Biorhythms. 



BLACKJACK (*BL) 

Blackjack, Roulette, Slot 
Machine, 2 more. 



£ 



OTHELLO COT) 

Othello^. Math Dice. 2 
more. "Othello" is the regis- 
tered trademark of CBS Inc. 
tor its srrategy disc game. 



PERSONAL FINANCE, 

VOL. I ( "PI) 

Rate of Return, Interest 
Conversions, 2 more. 



PERSONAL FINANCE, 
VOL. II (*PII) 

Loans: Sinking Fund, Declin- 
ing Interest, Constant Ratio. 



SB 









«5 



To order your Sof-Disk albums, simply 
enter the alhum(s) of your choice, by let- 
ters), in the spaces provided. If you want 
to order more than one copy, please enter the 
number of copies desired beside the letter. 
Add $. 50 for each album ordered to cover 
costs of mailing and shipping. Georgia residents add 
sales tax. Mail with check or money order to address 
below. 

*See ad for varying prices on Assembler, Text Editor, and 
Personal Data Base Sof-Disks. 



When you have a Compucolor II — the exciting color personal 
computer with a built-in mini-disk drive — you really have it 
soft. $19.95 is all you pay for most Compucolor Sof-Disk™ al- 
bums. * They're formatted to run only on the Compucolor II, 
and each contains at least three programs. That's far better 
value and variety than you get with programmed cassette tapes. 
And the Sof-Disks you see here are just a sampling. New in- 
troductions are added each month. 

To start your collection of mind-blowing games and other use- 
ful programs, visit your nearest computer store. Or, if there's no 
dealer in your area, clip the coupon and mail your order today. 

First things first! If you'd like h^^^m 
more information, simply check ^^rW^^ 
the coupon lor a free brochure ^^^^^ COHipilCOlOl" 

about the Compucolor II. M Corporation 



Street . 
City 



. State. 



■Zip- 



□ Send me the name of my nearest Compucolor Dealer. 

□ Please tell me more about the Compucolor II! 

□ I'd like additional software information! 
Mail to: Compucolor Corporation 

Dept. B 

P.O. Box 569 Allow 3 weeks 

Norcross, Georgia 30071 for delivery. 



Circle 51 on inquiry card. 



BYTt June 1979 



69 





Photo I: The author's homemade computer system 
cabinet with top removed. 



Photo 2: The system as it appears when con- 
verted into a desk. Note that the floor of the 
cabinet becomes a desk top displaying the en- 
tire system ready to plug in and run. 



A Home for Your Computer 



Joseph Dawes 

2510 Broadway 

Big Spring TX 79720 



If you're good at woodworking, here's 
a project that will save you a lot of time and 
trouble: build a cabinet for your computer! 
A carefully planned cabinet, as any ham or 
hi fi buff knows, serves to increase the uti- 
lity and enjoyability of the equipment inside 
it. 

I started planning my computer system 
cabinet as soon as I scattered my compo- 
nents around the cabinet I had made for my 
amateur radio gear. First of all, the cassette 
unit had to be fastened down: I quickly 
tired of holding it in place with one hand 
while unplugging something or changing 
a cassette. The power supply was constantly 
running warm and I knew it should be on 
stilts to increase heat loss. My separate video 
monitor could have ended up either beside 
the processor-keyboard cabinet or on top 
of it, but I quickly decided to reserve the 
top of the processor cabinet for a desk. 
The monitor would be beside the processor 
but angled toward the operating position 
for improved visibility. The keyboard had 
to be at a comfortable typing height, some- 
where from 28 to 30 inches from the floor. 

With these parameters in mind, I had to 
decide on cabinet style. The styles that first 
came to mind were the living room furniture 
piece with finely grained wood and the 
hobby room piece with modest wood grain 
or painted wood. However, circumstances 
led me to develop a somewhat different 



cabinet style. I hope my final design will 
prompt readers to forge ahead with their 
own cabinet ideas. 

The need to transport the system out- 
side my home, combined with my dislike 
for connecting and disconnecting wires, 
dictated the cabinet design shown in figure 
1 and photos 1 through 3. If I wanted to 
demonstrate it at the school where I teach 
or elsewhere, it would have to be operable 
as soon as it was opened and plugged in. 
Nothing kills interest more than 30 minutes 
of wire fiddling. 

The cabinet shown is sturdy enough to 
take some licks in a truck or car. While it 
is closed and bolted, a bicycle chain can 
be run through the two U-bolts and around 
the nearest oak tree, making it very incon- 
venient to move or to open without some 
commotion. When the lid is taken off the 
equipment base, it can be turned up on one 
side to become a pedestal upon which the 
equipment base can be set. The whole affair 
is quite stable when set upon a reasonably 
level surface, and the lid interior provides 
knee room and space for keeping notebooks 
and demolished programs. When closed 
it can be sat upon, and, although there's 
absolutely no way to lug it around in a 
VW beetle, it will fit in the back (not the 
trunk) of my 2 door Falcon with a little 
imaginative stevedoring. In short it does 
what I require very nicely, and if I had to 



70 June 1979 © BYTE Publications Inc 



L. 



i 1 





I I 



o ( ) o 



c ) 



I 1 

s 



a 

I I 



J 



EQUIPMENT BASE 



25 IN. 



Figure I : Plans for building the author's 
computer system cabinet. The unit is built 
from 5/8 inch plywood and features two 
U -bolts for adding an antitheft chain. All 
components are mounted on the floor of 
the cabinet. See accompanying photos. 



12 5/8 IN. 



r~> 


r~\ 




r~\ 




r~~\ 




1 L 


— - 






~ 


rr 1 


i n< 


a 


= 




p 


i 
_l 


: 






^ 










\t 


ii 


1 


1 


V ) 


1 


1 


Tl T 


, ^ 


II J 










1 1/2 IN.-* 










CABINET SIDE 



CABINET END 



build it over again I can think of very 
little I would change. After 1 painted the 
inside of the lid, it looked fine in a corner 
of the living room. What more could one 
ask? 

Some comments on construction details 
might be helpful. The size of the equipment 
base is dictated strictly by the dimensions 
of the equipment to be placed on it. The 
width of the base, however, should not be 
much wider than 25 inches or the work 
surface will be too high for operating com- 
fort when the cabinet is open (unless you 
like to stand while you work). Note that all 
equipment must fit within the dotted line 
perimeter shown in the equipment base 
drawing. Otherwise, equipment may get 
damaged by the bolt rails! I cut the plywood 
pieces for the lid with a smooth cutting 
plywood blade in my table saw and took 
great care to make cuts exactly to dimen- 
sion, because the whole lid was assembled 
by gluing the side pieces to the top. The 
small gluing blocks are tack-nailed in 
place while the glue dries. These blocks 
are for structural reinforcement and do 
not hold the lid together while the glue 
sets. Bar or pipe clamps must be used to 
provide the necessary pressure. A cabinet- 



making friend or a school shop might be 
a good source for these if you have none. 
The only permanent metal fasteners used 
are the two screws through the base into 
each runner, and they serve primarily as 
gluing clamps as well. 

The bolt rails are glued around the inside 
edge of the lid (Be certain to recess them a 




Photo 3: The cabinet locked up and ready for transport. 



June 1979 © BYTE Publications Inc 71 



ANNOUNCING 




New 
from DEC 

LA34 DECwriter IV 

$ U99. 00 



1 10 or 300 baud, RS 232C serial • Upper/lower case, 9 x 7 dot matrix 

ASCII • 10, 12,13.2, 16.5 characters /inch 

Friction teed, paper width to 15" • 2, 3, 4, 6, 8, or 12 lines/inch 

• 22"Wx7"Hx 15'/z"D, 25 lbs. 




New 
from DIABLO 

DIABL0 1640 $2,690.°° 
Receive-only $ 2,331. 00 

High-quality daisywheel printing at 
45 cps. 

DIABLO 1650 « 2.779. 00 
Receive-only $2,419.°° 

Metal daisywheel printing at 40 cps. 

S0R0CIQ 120 $795.°° 

• RS 232C, upper/lower case full 
ASCII 

• Numeric keypad, protected fields 

• Cursor keys plus addressable 
cursor 

• Auxiliary extension port 



Teletype 43 $999.00 

• RS 232C, 110 or 300 baud 

• Upper/lower case full ASCII 

• Pin feed, 12" x 8Vfe" paper 



T.I. 810 printer $1,695.°° 

• 150 characters per second 

• RS 232C serial interface 

• Adjustable forms tractor 

• Upper/lower case option $90.00 




S0R0C IQ 140 $1,250.°° 

• RS 232C and 20mA current loop 

• Extensive editing features 

• 25th line terminal status display 

• 16 function keys (32 with shift) 





flfl 


■^^^^_^. 


4 


^1 




^^^^^ 




To Order: Send certified check (personal or company checks require 
two weeks to clear) including handling* and 6% sales lax if delivered 
within California. 

'Handling: Less than $2,000, add 2%; over $2,000, add 1%. Everything 
shipped freight collect in factory cartons with manufacturer's warranty. 
Visit MICROMAIL at the National Computer Conference — Personal Com- 
puting Festival, New York City, June 5-7, Booth 128. 



efflJCRDMflJi. 



MICROMAIL • BOX 3297 • SANTA ANA, CA 92703 
(714) 731-4338 



distance equal to the thickness of the 
equipment base as the drawing shows!). 
Holes are drilled through these rails to 
take carriage bolts. Be sure to use carriage 
bolts because they have a square section 
beneath the round head which will set into 
the wood when pulled up tight and will not 
require further fastening to the bolt rails. 

Trim the equipment base so it fits easily 
inside the lid, and drill the holes through 
which the carriage bolts will pass 1/16 or 
1/8 inch larger in diameter than the bolts 
to save trouble when you first try to set the 
lid down over the base. Cut out the slot 
through which the U-bolts will pass with a 
jigsaw or coping saw, and provide a little 
extra play here too. The position of the 
runners should not vary much from that 
shown, but before you decide exactly where 
they will be, set your components on the 
equipment base and note where holes will 
be drilled to fasten the components to the 
base. Wouldn't it be a shame for one of the 
equipment mounting screws to have to come 
up from the underside right where a runner 
was located? I was lucky! I didn't even 
think about this hazard until it was too late 
to do anything about it, but luckily every- 
thing cleared. 

You will note that edges of plywood tend 
to have unsightly gaps, and the surface will 
have dents and dings. Before sanding the 
wood preparatory to painting, take a putty 
knife and some patching paste and fill these 
defects thoroughly. It's easy to do and 
makes all the difference in the finished job. 
When you sand, these fillings w.ill level off, 
corners and edges will get smoothed and 
slightly rounded, and you'll get a smoothly 
painted surface. I avoid painting whenever I 
can, but when painting raw plywood I have 
to admit that the final results are well worth 
the trouble of first putting on a primer coat 
and then a finish coat with a light sanding 
between coats. The only thing worse than 
painting once is painting twice, but when it's 
all over you have a surface you don't mind 
showing off. 

As a finishing touch, some acorn nuts 
look good on the ends of the carriage bolts 
since they protrude toward the operator 
when the cabinet is set up. 

For icing on the cake how would you like 
to hear that this whole project can be cut 
out of one sheet of plywood? Tough luck! 
Unless someone out there pulls a topological 
trick or is the owner of a more compact 
system than mine, you'll need a whole 
sheet and a scrap from the lumber com- 
pany's cutoff pile for one of the ends. Sorry 
about that, but everything doesn't always 
work out for the best. 

Happy woodworking!" 



72 lune 1979 © BYTE Publications Inc 



Circle 222 on inquiry card. 



Tinker, Tailor, Soldier, Sailor . . . 
Doctor, Lawyer . . . the Chieftain's here. 

No matter whether you're a serious 
hobbyist or a serious businessman, the 
Chieftain 6800 microcomputer with ca- 
pabilities that surpass the Z-80 is made 
for you. 

Smoke Signal's quality -packed 
Chieftain I features two 5.25-inch mini- 
floppy drives and Chieftain II fea- 
tures two 8-inch floppy drives. ^ 

Both microcomputers **'*\\* 
provide 32K static memory, j*' 
two serial I/O ports, a 2 Jt^t'd& 
MHz processor board, a 2K 
RAM monitor, a nine-slot 
motherboard with built- 
in baud rate generator 
and gold connectors for 
high reliability. The 
Chieftain's stylish leath- 
er-grained cabinet houses 
the above with its own 
cooling fan and regulated 
power supply. 



Every Chieftain is complete with 
system software and is totally burned-in 
as well as tested to further insure high 
reliability. 

And it's expandable to 64K memory 
with up to 2 megabytes floppy disk 
storage. 

So see your nearest Smoke Signal 
dealer, he'll be glad to show you how to 
get your wampum's worth. Systems 
start at $2,595. 



□ Send information on your Chieftain 
microcomputer 
□ Send name of nearest dealer 

Name 



Address. 



Company 
City 



SMOKE SIGNAL 
BROADCASTING 

31336 Via Colinas. Westlake Village. 
California 91361. (213) 889-9340 



Dealer inquiries invited. 




Hail to the Chieftain 

Smoke Signal Broadcasting, 31336 Via Colinas, Westlake Village, CA 91361, (213) 889-9340 



Circle 328 on inquiry card. 



BYTE |une1979 73 



Talk to a Turtle 

Build a Computer Controlled Robot 



James A Gupton Jr 
7416 G Pebblestone Dr 
Charlotte NC 28212 



What do personal computer experiment- 
ers do with their microcomputers when 
computer games lose their appeal and they 
tire of programming things like, "140 FOR 
X = 1 to 500: PRINT X: NEXT X " ? The 
exciting idea of adding a computer con- 
trolled robot suggests building your own R2- 
D2 robot from Star Wars. It might not be 
wise to start with a project as sophisticated 
as duplicating R2-D2, but there is a way 



you can begin a robot project on a smaller 
scale. It works, too! 

The Terrapin Turtle is a fascinating robot 
project that most experimenters can fully 
assemble in four hours. It runs forward, 
backward, turns left or right, blinks light 
emitting diode eyes, and can talk in a two 
tone beep. Its shell is mounted on a spindle 
that engages one of four microswitches. 
These relay a signal back to the computer 



ABOUT THE 
AUTHOR: 

Mr James Gupton jr 
has a most unusual 
background including 
photography, electro- 
optics research and de- 
velopment (which re- 
sulted in five patents on 
computer video display 
tubes and phosphor 
screens), along with 
teaching electronics. 
The Union County Ca- 
reer Center is the only 
high school in North 
Carolina to provide an 
electronics program 
which covers subjects 
from direct current to 
microprocessors. This 
program is under the 
guidance of Mr Gupton. 




Photo I : Jeffrey Dunn (foreground) and Richard Voss check off the Turtle components against 
the parts list. 



74 



lune 1979 © BYTE Publications Inc 



over its 10 foot umbilical cord, indicating 
when the Turtle has run into something 
from either front, right, left, or rear side. If 
you direct the Turtle on an exploratory trip 
around the room, its journey can be recorded 
by your microcomputer. On completing its 
journey, the Turtle can actually draw a map 
of its path using an internal ball point pen. 
The Terrapin Turtle illustrated in this 
article was assembled by high school stu- 
dents at the Union County Career Center in 
North Carolina. The total assembly time was 
four hours from start to initial test. This 
article is not intended for use as a con- 
struction project, but rather to introduce 
you to computer controlled robots. 

Assembling the Terrapin Turtle 

The cardinal rule for assembling any 
electronic kit is to begin by checking off 
each component on the parts list. Photo 1 
shows Jeffrey Dunn and Richard Voss 
checking the components of the Turtle kit 



Resistors 

510 ohm % W: R9, R10 
100 ohm % W: R21, R30 
15 K ohm 54 W: R5, R6, R7, R8. R29, R22 
50 Kohm % W: R19, R20 
1 K ohm potentiometers: P1, P2, P3, P4 

1 Kohm % W: R1, R2, R3, R4, R11, R12, R13, R14, R15, R16, R17, R18, R23, 
R24, R25, R26, R27, R28 



Capacitors 



C1 
C2.C3 



0.1 mF35 V 
500 mF 35 V 

Diodes 



1 N4000 D1 , D2, D3, D4, D5, D6, D7, D8, D9 

3.9 V zener D10 

Transistors 

2N2222 Q1.Q2, Q3, Q4, Q5.Q6, Q7 

GE-D40C4 Q8, Q9, Q10, Q1 1, Q12, Q13, Q14, Q15, Q19 



Table I: The Turtle component part list. The complete Turtle kit, including 
all hardware, printed circuits, electronic components is available from Terra- 
pin Inc for $300. 




.»D,. 






| .^,. •" VW J 






Q III ■ ■ 


i a 


, 1 


■ ''•"' 


11****9 M * 11 




^■k^'^4 


l^ftl lilt ? 


W 


% 


BHMIhVHb ir4N"i' 


SB 


,,,,,, 



Photo 2: The foil side of the Turtle's printed circuit board. Photo 3: The component side of the circuit board. 



June 1979 © BYTE Publications Inc 75 




Figure 1 : Supplemental diagram showing component identification numbers 
which relate to schematic locations. 



against the parts list. Once assured that 
everything was included in the kit, the 
printed circuit board was examined for 
possible scratches. Photo 2 shows the etch 
side of the 5 inch diameter printed circuit 
board. Photo 3 shows the component side. It 
was quickly noted that not all resistor values 
were printed on the component side, and 
that there was no identifying resistor num- 
ber to relate any resistor to the schematic. 
The instruction booklet stated that eighteen 
1000 ohm resistors should be placed where 
the resistor symbols did not have a value in- 
dicated. Figure 1 is a supplemental instruc- 
tion that identifies each component cor- 
responding to the schematic diagram. 

Richard Voss was in charge of assembling 
the printed circuit board for the Union 
County Career Center's Turtle. Photo 4 
shows the soldering of the Darlington tran- 
sistors that control both of the Turtle's drive 
motors. Notice the micro-tip, low wattage 
soldering iron and 0.020 inch (0.05 cm) 
diameter solder being used. All too fre- 
quently electronic kits are damaged during 
assembly by the use of high wattage solder- 
ing tools which damage the heat sensitive 
foil and apply too much solder. An excess of 
solder can short out both the closely spaced 
component pads and the circuit paths with 
solder bridges. Once the soldering has been 




Photo 4: Soldering the installed components. 



76 June 1979 © BYTE Publications Inc 



Photo 5: Inspecting the assembled components. 

Circle 335 on inquiry card. 



SSM "BLUE BOARDS" 



UMwirak 



The Standard of Value 




^p 



$ > 




c 



CBI 8080 CPU Board 






■*C 







If you're looking for 

outstanding value in 

S-100 boards you can't 

afford to overlook the "Blue 

Boards" from SSM. The best 

combination of design, quality 

and price available anywhere. Innovative designs 

that feature versatility and reliable performance. 

Quality backed by a strong warranty. And prices 

that won't let you down. 

But value goes beyond the boards themselves. 
It's reflected in the company that stands behind 
them. And SSM has been known for unparalleled 
customer service since the beginning of the 
personal computing industry. 

With one of the broadest product lines in the 
S-100 marketplace, it's likely that SSM has the 
board you need. So, if you're looking for value, ask 
for the "Blue Boards'.' They're available at over 
1 50 computer stores nationwide and abroad. 



Available 
assembled 
or as kits. 



flftffl 




«337 



21 16 Walsh Avenue 

Santa Clara, CA 95050 (408) 246-2707 



Our product line includes CPU, Video, 

I/O, RAM, EPROM, EPROM Programmer, Music, 

Prototyping, Terminator, Extender and Mother boards. 

Send for our free brochure and find out why SSM has 
become the favorite of discerning Hobbyists and OEMs. 



We used to be Solid State Music. We still make the blue boards. 



finished, it is wise to recheck the placement 
of the components, just to be doubly sure. 

Care must be exercised to keep the tabs 
on the Darlington transistors from touching 
one another. A small piece of plastic tape on 
each tab will save the transistor should the 
tabs accidentally be brought together while 
under power. Photo 5 shows the final in- 
spection of the assembly of components 
onto the printed circuit board. Photo 6 
shows the completed circuit board. 

Figure 2 provides the circuit schematic 
for the control of the Turtle's left and right 
motors and the internal ball point pen. The 
pen is lowered by a 12 V solenoid upon 
command from the computer. Figure 3 



shows the schematic for shell touch sensors, 
lights, and sound control. The figure also 
shows the power attachment points for the 
operation of the Turtle's electronics and 
motors. A 12 V, 3 A power source is re- 
quired for the best performance. The Turtle 
can operate, however, with a power source 
of 1 A capacity if the 3 A source is not 
available. The Turtle illustrated in this 
article was powered by a 4 A regulated 
power supply. 

Photo 7 shows the final assembly of the 
printed circuit board onto the motor hous- 
ing. The most difficult part of the entire 
assembly was forcing the rubber tires onto 
the wheels. It is almost impossible to do this 




Photo 6: The completed board, showing the uncluttered layout. 



78 



lune 1979 © BYTE Publications Inc 



Photo 7: The printed circuit board, shown at- 
tached to the Turtle 's motor drive housing. 



by yourself — a second set of hands will be 
needed to mount the rubber tire onto the 
wheel. Photo 8 shows the assembled Turtle 
minus its sensor shell and the two power 
supplies used for testing without the use of a 
microcomputer. The Turtle is controlled 
with a TTL (transistor-transistor logic) volt- 
age of V and +2 V. This may cause some 
problems for parallel interfaces that function 
between V and +5 V. The higher voltages 
can damage the 2N2222 Darlington tran- 
Text continued on page 84 




Photo 8: The completed Turtle, connected to a power supply for testing. 



June 1979 © BYTE Publications Inc 



79 




tm 




JR25 



[N>J 



Q8 





+ I2V 
A 



* • % 



o 



RIGHT 
MOTOR 



02 



D3 



010 




< i ii 



Qll 



D4 




:r2 



Q2 




+ I2V 



'RI2 



L<T] 



+ I2V 




U<g 



Figure 2: Schematic of the Turtle 's motor control and pen control circuitry. 



80 June 1979 © BYTE Publications Inc 



mS9 the I imm bend 

^m ' MARKET Wk mm -aSS 




7 




% 



oumvrrm] 



■i-i i j 'i -i •> / 
•j-j ii i i i i 

r : \ ;-j > i > j'j 

laoj/'ii'ji 

■j i j -I i -i 3 'J / 




, jTC? 






.*; 






ii 



■ 



■3 



HK 




AT YOUR COMPUTER RETAILER NOW 



■ 



TRS-80, Apple II, Sorcerer, SOL and Southwest 
Tech 6800 owners: get more out of your personal 
computer. 

Get into action with G2 Bullseye!, Sea Battle, 
Confrontation and Attack! 

Sharpen your analytical abilities with G2's Outwit 
I, Outwit II and Mind Bender. 

Take a chance with G2's Beat the House. Check 
out your health with Clinic. 

And enjoy the challenging experience of two new 
G2 computer simulations: The Market and Wildcatting. 

■ ; Or get serious with three powerful new 
languages. Level III Basic for the TRS-80. Extended 
Basic for the SOL. And Standard Basic for the 
Southwest Tech]6800. All written by Microsoft-the 
Basic wizards. Exclusively from G2. 



Our software has more so your computer does 
more. Great programming. Highest quality cassette. 
The most comprehensive instruction manual available. 
Plus source listing print-out of every application 
program in Basic. You can learn how the programs 
were written. We even encourage you to do your own 
re-programming to improve your skills! 

G2 software is available from computer retailers 
nationwide. If your local retailer doesn't have it, ask 
him to become a G2 dealer by calling us toll free: 
(800) 538-8540 (U.S.A.) or (800) 672-8691 (California). 



THE REASON 

YOU BOUGHT 
YOUR COMPUTER. 



Circle 151 on inquiry card. 



'•»■<*'-« 



BY II Juni' 197') 



SHELL TOUCH CONTROL 



H2V 
A 



RI5 



C J P 



ISI |S2 |S3 IS4 



1 1 I I 



1 



I 



DIO 

ZENER 

3.9V 



H2V 




A | TURTLE EYE 
CONTROL 




R 18 

-WV <T1 TURTLE HORN 

CONTROL 



RZ4 



Q HORN TONE 
CONTROL 



m 



+ I2V 



I 

:i:c2 



:-'}-"; c 3 




) POWER 

CONNECTIONS 



Figure 3: Schematic of the Turtle's touch sensor, lights, and horn control 
circuitry. 



Anadex Domestic Representatives: 
BarnhillTwo, Inc. 

Richardson, Texas 
(214)231-2573 
Houston, Texas 
(713)688-9971 
Austin, Texas 
(512)451-0217 

Barnhill Three, Inc. 

Denver, Colorado 
(303)750-1222 
Scottsdale, Arizona 
(602)947-7841 
Albuquerque, New Mexico 
(505) 299-7658 
Salt Lake City, Utah 
(801)484-4496 

Basic Systems, Inc. 

Inglewood, California 

(213)673-4300 

San Diego, California 

(714)279-9641 

Carter, McCormic & Perice, Inc. 

Farmington, Michigan 
(313)477-7700 
Dayton, Ohio 
(513)222-7700 
Cleveland, Ohio 
(216)779-5100 
Monroeville, Pennsylvania 
(412)372-4415 

Currie, Peak & Frazier, Inc. 

Orlando, Florida 
(305)855-0843 
Huntsville, Alabama 

(205) 536-5650 
Greensboro, North Carolina 
(919)273-3040 

Rush S. Drake Associates, Inc. 

Seattle, Washington 

(206) 763-2755 
Portland, Oregon 
(503)224-3145 

Electronic Marketing Associates 

Rockville, Maryland 

(301)881-5300 

King of Prussia, Pennsylvania 

(215)265-1600 

Pat Jenks Associates 

Hamden, Connecticut 
(203)281-0810 
Wakefield, Massachusetts 
(617)246-1590 

Ossman Instruments, Inc. 

East Syracuse, New York 
(315)437-6666 
Rochester, New York 
(716)473-5720 
Vestal, New York 
(607)785-9947 

Pivan Engineering Company 

Chicago, Illinois 

(312)539-4838 

Saint Louis, Missouri 

(314)567-3636 

Shawnee Mission, Kansas 

(913)722-1030 

Indianapolis, Indiana 

(317)253-1681 

Minneapolis, Minnesota 

(612)835-3060 

Brookfield, Wisconsin 

(414)786-1940 

Cedar Rapids, Iowa 

(319)377-9434 

Jay Stone & Associates 

Los Altos, California 
(415)948-4563 

Technical Marketing Associates 

Fort Lee, New Jersey 
(201)224-6911 



82 June 1979 © BYTE Publications Inc 



Circle 7 on inquiry card. 



The Anadex 80 Column Printer. 



First check 
the specs. 
Then check 
the price. 



Our new 80-column dot 
matrix line printer -the 
DP-8000 - combines high 
performance and operating 
convenience with a low price 
that's worth checking into. 

□ Check Performance 

The DP-8000 features a 
precision engineered, heavy 
duty printing mechanism that 
can print the complete 
96 ASCI I character set, bi- 
directionally, at 84 LPM. 

□ Check the Interface 

Included at no extra cost, 
are two input connectors (see 
photo) that provide three basic 
ASCII com- 
patible inter- 
faces: EIA 
Std.RS232C, 
for inter- 
facing at up 
to 96000 
Baud with 
most mini- 
computers 

and modems ; the 20/60 ma 
current drive mode required 
by Teletype® ASR33-35 
printers; and the parallel-bit, 





serial character synchronous 
Centronics compatible 
interface. 

The DP-8000 includes 12 
lines of internal FIFO buffer 
storage and can accept data 
continuously or in bursts. 
Optionally, increased buffer 
storage of 2048 characters 
can be supplied for CRT dump 
and similar applications. 

□ Check Printer Quality 

A9x 7 character font 
provides virtually 
half-dot resolution 
for clean crisp print 
quality on the 
original plus 
three copies. 

Precise paper 
positioning is 
ensured by a 
sprocket-feed paper advance, 
user-programmable Top of 
Form control , and up to 8 
vertical tab positions. 



□ Check Convenience 

For operating ease, the 
DP-8000 accepts paper 
through the rear or bottom of 
the unit, provides pro- 
grammable Skip Over Perfo- 
ration control, and Out of 
Paper indication and logic 
signal. 

□ Check the low Price 

The best news is the price. 
A complete DP-8000 is unit- 
priced at under $1 000, with 
substantial discounts in larger 
quantities. 

Once you've checked out 
the performance and price, 
we think you'll agree that the 
DP-8000 is definitely worth 
checking into. 



A 



ANADEX, INC. • 9825 DeSoto Avenue • Chatsworth, CA 91311, U.S.A. • Tel: 213/998-8010 • TWX 910-494-2761 

ANADEX, LTD. • Dorna House, Guildford Road • West End, Woking. Surrey GU24 9PW, England • Tel: Chobham (09905) 6333 • Telex: 858762 ANADEX G 



BYTE June 1979 



83 




Photo 9: The Turtle with shell attached as a final assembly step. 



Text continued from page 79: 

sistor driver. Photo 9 shows the attachment 

of the plastic Turtle shell. 

Does the Turtle work? Yes it does, even 
with a makeshift computer keyboard tempo- 
rarily substituting for the parallel interface 
of our computer. The students studied the 
keyboard's ASCII code and developed a list 
of keys necessary to command the Turtle's 
movements, lights, and horn. The Turtle 
will go under full computer control as 
soon as an expansion interface can be 
acquired for our TRS-80 microcomputer. 

Those wishing to investigate the Turtle 
kit, its capabilities, and its cost may obtain 



full details by writing to: 

Terrapin Inc 

33 Edinborough St Sixth Floor 

Boston MA 021 11 

Attention: David L McClees, President 

In addition, the following address is fur- 
nished for those wishing additional informa- 
tion on the application of robots: 

United States Robotics Society 
Box 26484 

Albuquerque NM 87125 
Attention: Glenn R Norris, President" 



84 lune 1979 © BYTE Publications Inc 



Color. VP-590 add-on Color Board allows program 
control of 8 brilliant colors for graphics, color games 
Plus 4 selectable background colors. Includes 
sockets for 2 auxiliary keypads (VP-580). $69* 



Sound. VP-595 Simple Sound Board provides 256 
tone frequencies. Greatforsupplementing graphics 
with sound effects or music. Set tone and duration 
with easy instructions. $24* 



Music. VP-550 Super Sound Board turns your VIP into a music 
synthesizer. 2 sound channels. Program control of frequency, 
time and amplitude envelope (voice) independently in each 
channel. Program directly from sheet music! Sync provision 
for controlling multiple VIPs, multitrack recording or other 
synthesizers. $49.* 

Memory. VP-570 RAM Expansion Board adds 4K 
bytes of memory. Jumper locates RAM in any 4K 
block of up to 32K of memory. On-board memory 
protect switch. $95* 



EPROM Programmer. VP-565 EPROM Programmer Board 
comes complete with software to program, copy and 
verify 5-volt 2716 EPROMs— comparable to units 
costing much more than the VP-565 and VIP put 
together! Programming voltages generated on < 

board. ZIF PROM socket included. $99* 



EPROM Interface. VP-560 EPROM Interface 
Board locates two 5-volt 2716 EPROMs (4K 
bytes total) anywhere in 32K of memory. 
VIP RAM can be re-allocated. $34* 



ASCII Keyboard.** Fully encoded, 128-character ASCII 
encoded alpha-numeric keyboard. 58 light touch keys 
including 2 user defined keys! Selectable upper and lower 
case. Handsomely styled. Under $50* 



Tiny BASIC.** VP-700 
Expanded Tiny BASIC Board 
puts this high-level language 
on your VIP. BASIC stored 
in 4K of ROM. Ready for im- 
mediate use — no loading 
necessary. This expanded 
BASIC includes the standard 
Tiny BASIC commands plus 
12 additional— including 
color and sound control! 
Requires external ASCII 
encoded alpha-numeric 
keyboard. $39* 




Auxiliary Keypads. Program 
your VIP for 2-player inter- 
action games! 16-key keypad 
VP-580 with cable ($15*) 
connects to sockets pro- 
vided on VP-590 Color Board 
or VP585 Keyboard Interface 
Card ($10* 



COSMAC VIP lets you add . 
computer power a board at a time. 



With these new easy-to- 
buy options, the versatile 
RCA COSMAC VIP 
(CDP18S711) means even 
more excitement. More 
challenges in graphics, 
games and control func- 
tions. For everyone, from 
youngster to serious hobby- 
ist. And the basic VIP com- 
puter system starts at just $249* assembled 
and ready to operate. 

Simple but powerful— not just a toy. 

Built around an RCA COSMAC micro- 
processor, the VIP includes 2K of RAM. ROM 
monitor. Audio tone with a built-in speaker. 
Plus 8-bit input and 8-bit output port to inter- 
face relays, sensors or other peripherals. It's 

Circle 322 on inquiry card. 




easy to program and operate. 
Powerful CHIP-8 interpre- 
tive language gets you into 
programming the first 
evening. Complete docu- 
mentation provided. 
Take the first step now. 
Check your local com- 
puter store or electronics 
parts house. Or contact 
RCA VIP Marketing, New Holland Avenue, 
Lancaster, PA 17604. Phone (717) 291-5848. 

'Suggested retail price. CDP18S711 does not include video monitor or cassette recorder. 
' "Available 1st Quarter, 1979. 

See the RCA VIP at the 3rd Annual National Small Computer Show 
at the New York Coliseum, August 23-26, booth 421 1 . 



The fun way 
into computers. 



RCA 



BYTE lune 1979 



85 



Few people have ever had the experience 
of attempting to trace their way through 
a real maze, so I'm going to ask you to 
settle back and allow your imagination 
plenty of freedom. 

The absolute darkness surrounding you 
is barely broken by the candle you carry 
in your hand. You see enough to know 
that you are in a featureless corridor, but 
how far it extends, you can only guess. 
Somewhere within this maze is a massive 
gold plate. If you can find this plate, it 
will become yours and you will be removed 
to safety. 

You are allowed to leave any kind of 
signs you wish to mark your trail. You 
know that any corridor you are in will 
eventually come to a dead end, but it 
may have any number of similar corridors 
branching off it. The overall dimensions 
of the maze are such that the average per- 
son could explore it in its entirety before 
becoming exhausted, if he or she didn't 
waste a lot of time and energy going in 
circles. 



The Beginning 

Years ago I read a brief article about 
a mechanical mouse that could find its 
way through simple mazes. Embedded 
within the walls of the mazes were a number 
of switches which served as sensors for 
the brain. The brain was a collection of 
relays whose points and coils functioned 
as a large switching network. By trial and 
error, this mass of hardware could direct 
the mouse through the maze until it reached 
the exit. 

Over the years, I kept this idea in the 
back of my mind. I was interested in build- 
ing such a maze, but the cost and complex- 
ity of the project were greater than the 
potential satisfaction. After I purchased 
my personal computer, these obstacles 
disappeared. If I was willing to accept a 
computer simulation of this project, I 
could fulfill my dream at no extra expense. 

I would need to write a program, of 
course, but I felt that this would be an 
easier task than designing and building 



David E Stanfield 

3408 Catalina Dr 

Atlanta GA 30341 



My Computer 



What follows is the story of how I created 
a program that would allow my computer 
to run through mazes similar to the one 
I've just described. I've included a general 
description of how the program operates, 
instructions for using it, and a complete 
listing of the program. 

I regret that I am unable to give you a 
motion picture of this program in opera- 
tion. The best I can do is to explain that 
I first create a maze as simple or complex 
as I wish on the screen of my video display. 
I have the cursor operating in its optional 
nonblinking mode and it therefore appears 
to be a solid rectangle. As soon as I turn 
control over to the program, it begins 
to maneuver the cursor in and out of the 
various pathways of the maze. The cursor 
will dodge up and down, back and forth 
until it eventually finds its goal. The sight 
of this mad little cursor zooming around 
the walls of the maze is absolutely fascinat- 
ing. 

Even if you don't intend to get this 
program up and running, I invite you to 
come along and explore some areas I found 
to be quite interesting. 



a complete hardware project. As I began 
to consider what features to include in 
my program, I came to realize that in 
several respects, the computer simulation 
would be superior to the real thing. One 
important difference was that I could 
have a maze of greater complexity than 
would have been feasible with a mechan- 
ical version. 

Another advantage was the ease with 
which new mazes could be prepared. 
Watching repeated runs through the same 
maze would eventually get monotonous. 
The choice between shifting and aligning 
plywood panels or pushing a few keys 
was no contest. Finally, my entire com- 
puter system fits neatly on a small desk. 
The maze I had visualized making was 
about the size of my living room. 

For several weeks I spent much of my 
spare time considering various ideas for 
the program. This allowed me the oppor- 
tunity to explore a wide range of possible 
features without having to do any actual 
programming. Gradually, I evolved a straight- 
forward set of goals that I felt would pro- 
vide an interesting simulation, but would 



86 



June 1979 © BYTE Publications Inc 



not be beyond my capability as a program- 
mer. 

With these basic goals in mind, I sat 
down and drew up the simple flowchart 
you see in figure 1. In graphic form, it 
indicates that the first function of the 
program is to assist the user in creating 
the maze. Once the maze has been pre- 
pared, the computer will run the maze 
until it reaches its goal. At this point, 
the user can run the same maze again or 
prepare a new one. 

A tremendous number of details had yet 
to be worked out, but this diagram gave me 
a secure starting point. Before I could pro- 
ceed any further I had to make a major de- 
cision. From a practical standpoint, designing 
the program to print out successive sets of 
coordinates for its moves seemed to be fairly 
simple. This would mean, however, that the 
user would have to manually move a marker 
around on a diagram of the maze. My deci- 
sion to display the maze on the video dis- 
play and let the computer move the cursor 
through the maze increased my work, but 
made the program far more interesting. 



Figure 1: Flowchart of 
three phases of the maze 
running program. 



( start J 



SET UP 



COMPUTER 
AND USER 
SET UP 
MAZE 



V 



COMPUTER 
RUNS THE 
MAZE 





Runs Mazes 



Program 

If you will take a few moments to study 
figure 2, you will discover that it is really 
an expanded version of the first block in 
figure 1. The series of tasks outlined in 
figure 2 must be performed by the computer 
and the user in order to set up the maze. 

The program begins by having the com- 
puter print out a complete list of the com- 
mands the user will use to create the maze. 
After the user indicates his understanding 
of these commands, the computer issues 
signals to the display to erase the screen 
completely. The computer then clears a 
section of memory that it will later use 
to remember the maze and the moves 
through it. 

Once the screen and block of memory 
are cleared, the program prints out a maze 
and stores a map of it in its special memory. 
At this point the program allows the user 
to use a few one letter commands (such as 
U for up and L for left) to modify the 
maze. As each command is issued, the 



program coordinates the making of changes 
on the screen and the storing of these 
changes in its block of memory. Once 
satisfied with the maze modifications, 
the user issues a final command to signal 
this fact to the computer. The program 
will respond by beginning to run the maze. 

Maze Creation 

The following additional information 
should help to clarify the above remarks. 
Once I decided to have the maze displayed 
on the screen, I needed to select a method 
of getting the maze onto the screen. One 
method would have been to allow the user 
to draw the maze on a blank screen. By 
properly positioning the cursor, the user 
could have printed a series of Xs anywhere 
that a wall was desired. I felt that this 
approach would work, but due to the 
heavy burden it would place upon the 
user, I selected another method. 



Figure 2: Flowchart ex- 
pansion of setup block 
from figure 7. 



( SETUP J 



PRINT LIST 
OF COMMANDS 



HOME UP AND 
ERASE TO 
END OF FRAME 



CLEAR BLOCK 
OF MEMORY 
USED TO 
STORE MAZE 



PRINT RAW 
MAZE AND 
STORE IN 
MEMORY 



ALLOW USER 
TO MODIFY 
THE MAZE 



f RETURN J 



June T979 © BYTE Publications Inc 



87 



Figure 3: Horizontal paths of maze. 



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
X X 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

X X 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

X X 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

X X 

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
x X 

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
X X 

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
X X 

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 



XXXXXXXXXXXXXXXX 
XXXXXXXXXXXXXXXX 
XXXXXXXXXXXXXXXX 
XXXXXXXXXXXXXXXX 
XXXXXXXXXXXXXXXX 
XXXXXXXXXXXXXXXX 
XXXXXXXXXXXXXXXX 
XXXXXXXXXXXXXXXX 
XXXXXXXXXXXXXXXX 
XXXXXXXXXXXXXXXX 



XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 



Figure 4: Vertical paths of 
maze. 



Figure 3 shows a box with alternating 
rows of Xs and spaces. These represent 
the horizontal paths and walls of the raw 
maze. Note that there is no way to get 
from one horizontal path to another. To 
create such a pathway, the user would 
simply erase any X on the line of Xs sepa- 
rating them. 

Figure 4 represents the vertical paths 
and walls of the maze. Again, the paths are 
totally separate, but the user could easily 
make an opening between the adjacent 
paths by erasing one X. 

Figure 5 is the result of combining 
figure 3 with figure 4. What you see in 
figure 5 is the initial maze that I've been 
referring to. Another way of looking at 
it is to think of it as an aerial view of a 
grid of streets running north-south and 
east-west. Imagine that roadblocks have 
been established at every intersection. 
To get from point A to point B, it is nec- 
essary only to remove the specific road- 
blocks blocking your route. For the pur- 
poses of this program, the user performs 
a similar operation by removing those 
Xs which block the paths he desires through 
his maze. 



This concept is illustrated in figure 6. 
By erasing the blocking Xs along the de- 
sired horizontal and vertical pathways, we 
are able to create a functional maze. We 
must remain on those pathways and can 
erase an X only if it is blocking us unduly. 
In practice, we can only erase an X if there 
is a space either above and below it, or to 
the right and left of it. 

The above can be a little confusing, even 
after you are used to it. Because of this, I 
built a routine into the program which 
automatically checks every X you try to 
erase and determines whether or not that 
particular X may be erased. If a given X 
may not be erased, your command will 
be ignored. As a result, you need not worry 
about making an error, but remember when 
you try to erase an X and nothing happens, 
that the program is designed to do this. 

Among the Xs which cannot be erased 
are those which form the borders of the 
initial maze, meaning that there is no escape 
from this maze. It doesn't really matter. 
Unlike other mazes (in which the idea is to 
escape), the goal of the computer in this 
program is. to find "food", indicated by 
the letter F. 

Command Details 

While the program does print out a list 
of all the valid user commands, I feel it is 
worthwhile to elaborate. One of the basic 
principles involved in setting up the maze 
is the fact that the cursor is not allowed 
to pass beyond any boundary of the maze. 
This means that when the cursor reaches 
the right side of the maze, it will not be 
able to "wrap-around" and reappear on 
the left side of the screen. It doesn't matter 
in which direction you are moving: when 
you reach a boundary line, you will be 
stopped from going any further. Should 
you try to go further, the command will 
be ignored. 

I chose this approach to facilitate coor- 
dination of the on-screen maze and its 
counterpart stored in memory. Coordina- 
tion of the cursor on the screen and the 
block of reserved memory is critical to the 
successful operation of this program. It 
is important that I included a routine 
designed to abort the program if certain 
commands are detected. 

Because it is so much easier to remember 
the letter R for right rather than Control-I 
for right, I decided to allow the user to use 
U, D, L and R to cause the cursor to move 
up, down, left and right. In operation, the 
program recognizes these easy to remember 
commands and substitutes the specific 
control character used by the terminal 



88 



lune 1979 © BYTE Publications Inc 



FCfi MI5PCQCMPUTEF 




One of the largest and fastest growing 
companies in the microcomputer in- 
dustry is looking for talented people in all 
areas of microcomputer development, 
marketing, sales and support. If you 
have experience in microcomputing and 
an interest in one of the areas below: 



PflGGHAMMING: 



Applications software for the home of 
the future and office of the future. 
Systems software for English parsing, 
voice recognition and other advanced 
I/O devices. 

HARDWARE fi/ll: 

Microcomputer networking for home 
and office and advanced I/O devices. 

MARKETING: 

Presenting advanced concepts to »- hD 
personal, small business and edu 
tional marketplaces. 

SALES: 

Computer dealer relations. 
I\lew business development. 



RLUUUIIil 



Innovative training approaches for 
employees, dealers and customers. . 



Submit your detailed resume in con- 
fidence to the Director of Personnel. 



: : : i '■ . i" 7 l 



1333 S. Chillicothe Road • Aurora, Ohio 44202 



HVTt lunr Wl 



Figure 5: Complete maze grid, containing all horizontal and vertical com- 
ponents. 



xxxxxxxxxxxxxxxxx 


x 


X 


xxxxxxxxx 


XXX 


xxxxxxxxx 




X 


X X X X 


X X 


xxxxxxxxxxxxxxxxx 


X 


X 


xxxxxxxxx 


XXX 


xxxxxxxxx 




X 


X X X X 


X X 


xxxxxxxxxxxxxxxxx 


X 


X 


XXXXXXXXX 


XXX 


xxxxxxxxx 




X 


X X X X 


X X 


xxxxxxxxxxxxxxxxx 


X 


X 


xxxxxxxxx 


XXX 


xxxxxxxxx 




X 


X X X X 


X X 


xxxxxxxxxxxxxxxxx 


X 


X 


xxxxxxxxx 


XXX 


xxxxxxxxx 




X 


X X X X 


X X 


xxxxxxxxxxxxxxxxx 


X 


X 


xxxxxxxxx 


XXX 


xxxxxxxxx 




X 


X X X X 


X X 


xxxxxxxxxxxxxxxxx 


X 


X 


xxxxxxxxx 


XXX 


xxxxxxxxx 




X 


X X X X 


X X 


xxxxxxxxxxxxxxxxx 


X 


X 


xxxxxxxxx 


XXX 



xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

X XX 

xxxxxxx xxxxxxxxx xxxxx xxxxxxx 

X XX XXXX X 

XXX X X XXX XXXXX XXX X XXX XXX 
XXX X X 

X XXX xxxxxxxxxxx xxxxxxx xxxxx 

XX X XX X X 

X X XXXXX X X XXX X XXXXX XXX x 
XX XXXX XX 

XXX X XXXXX XXXXXXXXX XXX XXX X 
XXX XXX 

XXXXXXXXXXX XXXXX X X XXX XXX X 
X X X X X X X 

XXXXXXXXXXXXXXXXXFXXXXXXXXXXXXX 



Figure 6: Functional maze 
produced by removing Xs 
from the grid of figure 
5. 



device for the intended cursor movement. 
I followed this approach because it was 
relatively easy to program and made things 
easier for the user. However, should the 
user input one of the actual control char- 
acters recognized by the terminal system, 
synchronization between the on-screen maze 
and the special block of memory would 
probably be lost. Rather than permit this 
to happen, I chose the simple alternative 
of having the program check each command 
input by the user. If it detects any control 
character, it will immediately erase every- 
thing on the screen and return to MIKBUG 
control. The program itself will not be 
affected, but you will need to reenter the 
program at its starting address and begin 
again. 

Other Commands 

The remaining valid commands are C, 
H, F, E, and S. These stand for carriage- 
return, home-up, food, erase and start. 
Carriage-return moves the cursor to the 
left of the current line, while the home-up 
command is used to move the cursor to 
the upper lefthand corner of the maze. 



When you have the cursor positioned di- 
rectly over an X you wish to remove, use 
the erase command. Use the food command 
to replace any X in the raw maze with an F. 
You may set up several target Fs around the 
maze, but the program will stop its search 
as soon as it finds the first one. When you 
are ready to allow the computer to run the 
maze you have prepared, issue a start com- 
mand. 

Issuing the start command removes 
control of events from the user and turns 
everything over to the computer. As soon 
as it takes control, the computer checks to 
see whether the cursor is positioned over 
an X or a space. At this point, if the cursor 
is over a space, the computer will begin 
its search. If, however, the cursor is over 
an X, the computer will move it to the 
space in the upper lefthand corner. Either 
procedure gives the computer a valid point 
from which to start, and as soon as one has 
been taken, the computer prepares to make 
its first move. 

Strategy 

I now need to discuss, in general terms, 
the strategy used by the program to move 
around the maze in search of food. A good 
place to begin is with figure 7. This type of 
diagram is referred to as a tree. Such a 
diagram by itself does nothing. When used 
as an aid in solving certain types of problems, 
such trees can make it much easier to 
visualize relationships of various elements 
of a problem. 

If we assume that each circle represents 
a combination of factors which could be 
the desired answer, our task is to devise a 
scheme of searching through the tree until 
we find the solution. A number of methods 
for doing this are available. While the one 
that I selected is not the best, it is reasonably 
efficient, provides an interesting simulation, 
and is so simple to understand that I had no 
reservations about using it as the basis for 
the most important part of the program. 

The strategy I selected for my program 
is embodied in the following set of simple 
rules. The first rule is that once a passage- 
way is entered for the first time, it is ex- 
plored until a dead end is reached. During 
this initial search, any corridors branching 
off the passage being explored are ignored. 
The second rule is that after a dead end is 
reached, special signals are stored in the 
reserved block of memory until the com- 
puter must either change direction or reach 
a new corridor. These signals mean that 
it is not necessary to explore that particular 
corridor, as it is already known that the goal 
is elsewhere. In effect, the program will later 
react to these signs in the same way that 



90 



June 1979 © BYTE Publications In 



"The data from this experiment 
could affect national defense* That's why 
we use Scotch Brand Disk Cartridges." 




Ken Bish, Engineer, 

Systems Research Laboratories, 

Inc., Dayton, Ohio 

Every Scotch Disk Cartridge is 
tested and certified error-free before 
it leaves the factory. Because, for 
the defense of your data, nothing 
less than perfection is acceptable. 

The disks in Scotch Disk 
Cartridges are defended by 3M's 
exclusive CRASHGUARD® 
protective disk coating. It greatly 
minimizes the possibility of a head 
crash, and minimizes the damage, 
should one occur. 

Scotch front-loading Disk 
Cartridges also feature our exclusive 
Living Hinge air door, which 
reduces the possibility of damage to 
the disk from contact with the air 
door stop during shipping and 
handling. 

You can get Scotch Disk Cartridges 
in front or top-loading models. 
To find out where you can find Scotch 
Disk Cartridges or virtually any 
other data recording medium, call 
toll-free: 800-328-1300. (In Minne- 
sota, call collect: 612-736-9625.) 
Ask for the Data Recording 
Products Division. 

If it's worth remembering, 

it's worth Scotch 

Data Recording Products. 




Circle 368 on inquiry card. 



BYTE lune 1979 



91 



Figure 7: Search tree used 
by program to find its 
goal. 




~* *— \ 



\i/ 



-* GOAL 

6 



Figure 8: Typical search undertaken by computer. Starting at point 1 , the 
cursor moves right to the dead end at point 2. Marking this position with a 
special code in memory, the cursor moves left, finding the unexplored cor- 
ridor at point 3. The cursor changes direction to explore this, until stopped at 
point 4. Leaving a dead end code, the cursor again reverses, and discovers the 
new passage at point 5. Changing direction and moving towards point 7, the 
cursor reaches the "food" at point 6 and stops the search. 



it would react to a wall. A third rule is 
that when the program is retracing pre- 
vious steps, it will begin exploring new 
territory as soon as possible. 

Search Details 

To make these rules clearer, refer to 
figure 8. Assume that the computer begins 
its run at position 1. It will move to the 
right until it reaches the dead end at position 
2. Leaving special signals behind itself in 
memory, the computer will move back to 
the left until it encounters the new corridor 
at position 3. As this is an unexplored passage, 
it will stop retracing its steps toward posi- 
tion 1 and change direction toward position 
4. Once it arrives at position 4, it reverses 
itself and, again leaving the special dead 
end signs in memory, backs up until it 
reaches position 5. Here, the computer 
decides that it has found another unex- 
plored avenue and begins moving toward 
position 7. Halfway down this corridor 
it finds the food at position 6 and, having 
achieved its goal, stops the search. 

In addition to the dead end signs, the 
computer also marks each path it explores 
with another signal to indicate that it has 
been there. Both of these signals are stored 
in the reserved block of memory to serve 
as guides in choosing the next move. They 
do not appear on the video display screen 
(where they would only cause clutter). 

If you refer back to figure 7, you will 
now be able to understand the strategy that 
I have employed in this program. The pro- 
cedure is to start at the top and, after 
arbitrarily choosing one of the branches, 
descend along it as far as possible. In this 
instance, we go from A to D. Unable to 
continue at D, we back up the minimum 
possible distance to C, where we encounter 
three unexplored branches. One at a time, 
we descend from C to E, F, and G. When 
exploration of these three branches is 
complete, we have eliminated everything 
descending from C. Again, we back up 
the least possible distance. In this case, 
we move from C back to B. At B we will 
descend to explore the paths leading to 
H, I, and J. Once this sequence has been 
completed, we back up to A. We have, 
at this point, thoroughly examined one 
limb of the tree, and use of the same rules 
over and over will eventually lead us to 
the goal. 

One last point concerning strategy must 
be covered. Figure 9 illustrates a normal 
tree with some abnormal additions: closed 
circular paths, or loops. These may actually 
be a true representation of a particular 
problem. They are not, however, used in 



92 



|une1979 © BYTE Publications Inc 



classic tree diagrams. Experts in the field of 
artificial intelligence tend to disapprove of 
such loops for they can raise havoc with 
simple search strategies like the one I've been 
explaining. It is entirely possible to enter 
one of these loops and, following the rules 
exactly, remain in the loop indefinitely. 
This can all be summed up in the following 
rule: do not create loops in the mazes you 
set up for this program to run through. 

Finally, on the matter of loops, figures 
10 and 11 are examples of various mazes. 
Those shown in figure 10 are incorrect 
because of loops. Those shown in figure 1 1 
are correct. 

Run Completion 

Now I am going to briefly describe what 
happens once the computer completes its 
run. If it was unable to find the goal (because 
you forgot to include it or placed it out of 
reach), the program will tell you that it has 
no valid moves and will ask if you wish to 
rerun the same maze. 

If you indicate that you would like to 
rerun the same maze, the computer will 
clean out all the signs it placed in its special 
block of memory and jump back to that part 
of the program which allows the user to 
modify the maze. It will print out a new 
maze or change the one on the screen. If 
you desire to start the next run from a new 
location or further modify the maze, use the 
same commands you originally used in set- 
ting up the maze. When you are ready to 
begin the new run, input a start command. 

When the program actually finds the goal, 
it goes through the same general routine as 
when it has no more moves, with one major 
difference: instead of reporting that it has 
no more moves, it states that it has found 
the goal. Beyond this, everything is the same. 

If, in either of the above cases, you indi- 
cate to the computer that you do not desire 
to rerun the same maze, the program will 
erase everything on the screen, completely 
clear out the special block of memory, and 
then print out a new initial maze. 

Minor Points 

A few minor details remain of which you 
should be aware. Foremost among these is 
the cursor. I decided to use the cursor to 
explore the maze because it was the easiest 
way to do the job. The simulation is very 
effective when the cursor is operated in the 
solid mode (as opposed to the normal blink- 
ing mode). The program will function per- 
fectly with a blinking cursor, but the visual 
effect is not as pleasing. 

Text continued on page 96 



Figure 9: Search tree containing loop paths, which can cause problems. 




Figure 10: Mazes containing loops. Creation of such mazes is to be avoided. 



X X X X X X X 


XXX 


XXX 


XXX 


X 


X X X X 


X X 


xxxxxxxx 


X 

X X X X. X X X 














V 


XXX 


XXX 


X X 


X 


XXX 


X 


X X X X X x 


X 


X X X X 


X 


X X 


X 


X 


X X 


X 


XXX 


X 


X X X X X X X 


XXX 


XXX 


X X 


X 


XXX 


X 


X X X X X X 


X 


X X X X 


X 


X X 


X 


X 


X X 


X 


XXX 


X 


X X X X X X X 


XXX 


XXX 


X X 


X 


XXX, X 


X X X X X X 


X 


X 






X 


X 


X X 






X 






X X X X X X X 


XXX 


XXX 


X X 


X 


XXX 


X 


xxxxxxxx 


X X X X 


X 


X X 


X 


X 


X X 


X 


X X X X 


X X X X X X X 


XXX 


XXX 


X X 


X 


XXX 


X 


xxxxxxxx 


X 






X 


X 


X X 


X 


X X X X 


X X X X X X X 


XXX 


XXX 


X X 


X 


XXX 


r 


xxxxxxxx 


X X X X 


X 


X X 


X 


X 


X X 


X 


X X X X 


X X X X X X X 


XXX 


XXXXXXXXXXXXX 


XXXXXXXX 



X X X X X 


X 


X 


X X X X 


X X X X X X 


X 


X X X X 


X 


X 


XXX 


X 


XXX 


XXX 




X 


X 


X 


X X 


X 




X 


X 




X 




X X 




X X 


X X X X X 


X 


X 


X X X X 


X X X X 


X 


X 


X 


X 


X 


X 


X 


XXX 




XXX 


X 












X 




X 


X 




X 




X X 




X X 


X X X X X 


X 


X 


X X X X 


X X X X 


X 


X 


X 


X 


X 


X 


X 


XXX 




XXX 


XXX 




X 


X 


X 


X X 


X 




X 


X 




X 




X X 




X X 


X X X X X 


X 


X 


X X X X 


X X X X 


X 


X 


X 


X 


X 


X 


X 


XXX 




XXX 


X 

X X X X X 








. 






















X 

XXX 


X 


X 


X X 


X 


X X X X 


X 


X 


X X 


X 


X 


X 


X 


XXX 


X 


XXX 




X 


X 


X 


X X 


X 




X 


X 




X 




X X 




X X 


X X X X X 
X 


X 


X 


X X 


X 


X X X X 


X 


X 


X X 


X 


X 


X 


X 


XXX 


X 


XXX 
X 






























X X X X X 


X 


X 


X X 3 


C X 


X X X X 


X 


X 


X X 


X 


X 


X 


X 


X X F 


X 


XXX 


XXX 




X 


X 


X 


X X 


X 




X 


X 




X 




X X 




X X 


X X X X X 


X 


X 


x x : 


C X 


X X X X J 


C X 


X 


X X 


X X 


X 


X 


X X X X X X X 



June 1979 © BYTE Publications Inc 93 



Figure 7 7 ,' Properly constructed mazes containing no loops. 



XXX 


X 


X X 


X 


X X 


X X X X X 


X X 


X 


X X X X 


X 


X 


X 


X 


X 


X 


X 


XXX 


X X 




X 


X 


X 


X X 


X 


X 


X X 












X 




X X 


X X 


X 


X X 


X 


X X 


X X X X X X 


X 


X X X X 


F 


X 


X 


X 




X X X X X 


X X 




X 


X 


X 


X X 


X 


X 


X X 




X 




X 




X 




X X 


X X 


X 


X X 


X 


X X 


X X X X X 


X 


X 


X X X X 


X 


X 


X 


X 




X 


X 


XXX 


X X 
































X 


X X 


X 


X X 


X 


X X 


X X X X X 


X 


X 


X X X X 




X 


X X 




X 


X 


XXX 


X X 




X 


X 


X 


X X 


X 


X 


X X 




X 




X 




X 




X X 


X X 


X 


XXX 


X 


X X X X X 


X 


X 


X X X X 




X 


X 


X 




X 


X 


XXX 


X X 




X 


X 


X 


X X 


X 


X 


X X 




X 




X 








X 


X X 


X 


X X 


X 


X 


X X X X X 


X 


X 


X X X X 




X 


X 


X 


X 


X 


X 


XXX 


X 














X 


X X 




X 




X 




X 




X X 


XXX 


X 


XXX 


X 


X X X X X 


X X X X X X X 




X 


X 


X 


X 


X 


X 


XXX 


X X 




X 


X 


X 


X X 


X 


X 


X X 
















X 


XXX 


X 


X X 


X 


X X 


X X X X X 


X X X X X X X 


X 


X 


X 


X 


X 


X 


X 


XXX 


XXX 


X 


X X 


X 


X X 


X X X X X 


X X 


X 


X X X X 


X 


X 


X 


X 


X 


X 


X 


XXX 


X 
























X 




X 




X X 


X X X X X X 


X 


X X 


X X X X 


X X 


X 


X X X X 


X 


X 




X 


X 


X X 


X X 


X X 




X 


X 


X 


X X 


X 


X 


X X 




X 




X 




X 




X X 


XXX 


X 


X X 


X 


X X X X X X 


X X 


X 


XX XXX 




X 


X 


X 


X 


X X 


X X 




X 








X 


X 


X X 




X 




X 




X 




X X 


XXX 


X 


X 


X 


X X X X X X 


X X 


X 


XX XX 


X 




X 


X 


X 


X 


X X 


X X 




X 


X 


X 


X X 


X 


X 


X X 




X 




X 




X 




X X 


X X X X 


X 


X 


X X X X X X 


XXX 


XX X 


X 


X 




X X 


X 


X 


X X 


X X 




X 


X 


X 


X X 






X 




X 




X 




X 




X X 


X X X X 


X 


X 


X X 


X X X X 


X X 


X 


XX X 


X 


X 




X 


X 


X 


X 


X X 


X X 




X 


X 


X 


X X 


X 


X 


X X 




X 












X 


X X X X 


X 


X 


X X 


X X X X 


XXX 


XX XX 


X 




X X 


X 


X 


X X 


X X 




X 


X 


X 


X X 


X 


X 


X X 




X 




X 




X 




X X 


XXXXXFXXXXXXXXXXX 


xxxxxxxxxxxxxx 



Photo 1 : Time lapse exposure of a complete search of the maze. The camera 
shutter was left open during the entire time the cursor was traversing the 
maze. When the cursor retraced its steps, it increased the exposure at that 
point. Thus, the various shadings indicate in a relative fashion the number of 
times that the cursor passed a given point. The whitest location is the home 
position at the upper left comer. 




See Sol 
qt all these 

fine 

computer 

centers 

AL: Birmingham: Computer Center, Inc., 

(205) 942-8567, CA: Costa Mesa: Orange County 
Computer Center, (714) 646-0221. Los Angeles: 
Computers Are Fun, (213) 475-0566. Modesto: 
Computer Magic, (209) 527-51 56. Mountain View: 
Digital Deli, (415) 961-2670. Walnut Creek: 
MicroSun Computer Center, (415) 933-6252. 
CO: Boulder: Byte Shop, (303) 444-6550. CT: 
Bethel: Technology Systems, (203) 748-6856. 
FL: Ft. Lauderdale: Byte Shop of Ft. Lauderdale, 
(305) 561-2983. Miami: Byte Shop of Miami, 
(305) 264-2983. Tampa: M icroComputer Systems 
Inc., (813) 879-4301. IL: Lombard: Midwest 
Microcomputer, (312)495-9889. ID: Boise: Byte 
Shop Computer Store, (208) 345-381 1 . IA: 
Davenport: Memory Bank, (319) 386-3330. KY: 
Louisville: Martronix Associates, (502) 459-0500. 
MD: Silver Springs: Computers Etc., 

(301) 588-3748. Towson: Computers Etc., 
(301 ) 296-0520. MA: Waltham: Computer Power. 
Inc., (617) 890-4440. MO: Florissant: 
Computer Country, (314) 921-4434 NJ: Cherry 
Hill: Computer Emporium, (609) 667-7555. 
Iselin: Computer Mart of New Jersey, (201) 
283-0600. NY: Endwell: The Computer Tree, 
(607) 748-1223. New York: Computer Mart 
of New York, (21 2) 686-7923. White Plains: The 
Computer Corner, (914) 949-3282. NC: Raleigh: 
Bennett-Stiles Computer, (919) 781-0003. 
OH: Akron: The Basic Computer Shop, (216) 
867-0808. OR: Beaverton: Byte Shop Computer 
Store, (503) 644-2686. Portland: Byte Shop 
Computer Store, (503) 223-3496. PA: King of 
Prussia: Computer Mart of Pennsylvania, (215) 
265-2580. Rl: Warwick: Computer Power, Inc.. 
(401 ) 738-4477. TN: Kingsport: Microproducts 
& Systems, (615) 245-8081. TX: Arlington: 
Computer Port, (817) 469-1502. Houston: 
Interactive Computers, (713)772-5257. Houston: 
Interactive Computers, (713) 486-0291. 
Lubbock: Neighborhood Computer Store, (806) 
797-1478. Richardson: Microstore, (214) 
231-1096. UT: Salt Lake City: Home Computer 
Store, (801) 484-6502. VA: McLean: 
Computer Systems Store, (703) 821 -8333. WA: 
Bellevue: Byte Shop Computer Store. (206) 
746-0651 . Lynnwood: Byte Shop Computer Store. 

(206) 775-7436. Seattle: Byte Shop of Seattle. 
(206)622-7196. Wl: Madison: The Madison 
Computer Store, (608) 255-5552. Milwaukee: The 
Milwaukee Computer Store, (414)445-4280. 

DC: Washington: Georgetown Computer 
Emporium, (202) 337-6545. CANADA: London, 
Ontario: Computer Circuit Ltd.. (519) 
672-9370. Toronto, Ontario: Computer Mart Ltd.. 
(416) 484-9708. Vancouver, B.C.: Basic 
Computer Group Ltd., (604) 736-7474. 
ARGENTINA: Buenos Aires: Basis Sistemas 
Digitales, 393-5299. AUSTRALIA: Prospect: 
A.J.F. Systems & Components, Pty. Ltd., 
269 1244. Sydney: Automation Statham Pty. Ltd., 
(02) 709.4144. BELGIUM: Brussels: 
Computerland, 02/511-34-45. COLOMBIA: 
Bogota: Video National, 326650. DENMARK: 
Copenhagen: Peter W Holm Trading Aps, 
01-54366. PHILIPPINES: San Juan: Integrated 
Computer Systems, Inc., 78-40-71. SPAIN: 
Barcelona: Interface S.A.. (93) 301 7851. 
UNITED KINGDOM: Essex: The Byte Shop Ltd.. 
01 554 2177. Huntington: Comart, Ltd., 
(0480) 74356. VENEZUELA: Los Ruices. 
Caracas: Componentes Y Circuitos Electronicos 
TTLCA, 355591. 



94 



June I979 & BYTt Publications Inc 



Circle 300 on inquiry card. 



itrtm- 




Soli The small computer that won't 
fence you in. 



A lot of semantic nonsense is 
being tossed around by some of the 
makers of so-called "personal" 
computers. To hear them tell it, an 
investment of a few hundred 
dollars will give you a computer 
to run your small business, do 
financial planning, analyze data in 
the engineering or scientific 
lab — and when day is done play 
games by the hour. 

Well, the game part is true. 
The rest of the claims should be 
taken with a grain of salt. Only 
a few personal computers have the 
capacity to grow and handle 
meaningful work in a very real 
sense. And they don't come 
for peanuts. 

Remember, there's no 
free lunch. 

So before you buy any personal 
computer, consider Soil 8 ' It 
costs more at the start but less in 
the end. It can grow with your 
ability to use it. Sol is not cheap. 
But it's not a delusion either. 

Sol small computers are at the 
very top of the microcomputer 



spectrum. They stand up to the 
capabilities of mini systems 
costing four times as much. 

No wonder we call it the 
serious solution to the small 
computer question. 

Sol is the small computer 
system to do the general ledger and 
the payroll. Solve engineering 
and scientific problems. Use it for 
word processing. Program it 
for computer aided instruction. 
Use it anywhere you want 
versatile computer power! 

Build computer power 
with our software. 

At Processor Technology we've 
tailored a group of high-level 
languages, an assembler and other 
packages to suit the wide 
capabilities of our hardware. 

Our exclusive Extended BASIC 
is a fine example. This BASIC 
features complete matrix functions. 
It comes on cassette or in a 
disk version which has random as 
well as sequential files. 

Processor Technology FORTRAN 
is similar to FORTRAN IV and 



has a full set of extensions designed 
for the "stand alone'* computer 
environment. 

Our PILOT is an excellent text 
oriented language for teachers. 

Sold and serviced only by the 
best dealers. 

Sol Systems are sold and serviced 
by an outstanding group of 
conveniently located computer 
stores throughout the U.S. 
and Canada. 

For more information contact 
your nearest dealer in the 
adjacent list. Or write Department 
B, Processor Technology, 
7100 Johnson Industrial Drive, 
Pleasanton, CA 94566. Phone 
(415) 829-2600. 

In sum, all small computers 
are not created equal 
and Sol users know it to their 
everlasting satisfaction. 

Circle 300 on inquiry card. 

Processor Technology 



Author's Note: 

The program shown in listing I uses several routines from the MIK- 
BUG monitor. Other monitors (SWTBUG, Smartbug) designed to be 
compatible with MIKBUG should work with the program. However, 
the program will not work with other types of monitor systems. 

Be careful not to type an actual control character while setting up 
the maze. If you do, you must restart the program at hexadecimal 
location 003D. 



Table I : Control codes used with the Southwest Technical Products Corpora- 
tion CT-64 video terminal system. 



Control Character 


Hexadecimal Code 


Function 


H 


08 


Back Space 


1 


09 


Forward Space 


J 


0A 


Line Feed 


K 


OB 


Move Up 


P 


10 


Home Up 


U 


15 


Erase End of Line 


V 


16 


Erase End of Frame 


M 


0D 


Carriage Return 



Text continued from page 93: 

While I was developing the program, I 
found it desirable to include a delay routine 
to slow the speed at which the cursor runs 
through the maze. This delay is used when- 
ever the program is exploring new territory. 
It greatly increases the impression that the 
computer is carefully considering each move. 
The amount of delay can be varied by chang- 
ing the contents of one location in memory. 
The specific address is hexadecimal 06BE. 
You may use any value between 01 and FF. 
The maximum amount of delay is about one 
second, which occurs when location 06BE is 
set to FF. As the value stored in 06BE is 
decreased, the amount of delay is reduced 
until, with a value of 01, it is almost un- 
noticeable. 



Listing I: Since the original Maze program was hand assembled over several 
hand written pages, the machine generated object code shown here in MIKBUG 
format is the only verifiable representation. Spaces on each line make reading 
easier, but do not enter the spaces into the computer. The last pair of digits 
on each line is a checksum. The starting address is hexadecimal 003D. 



SI 13 0000 


6580 


6904 


6420 2420 A525 


6501 4000 


9580 40 


S113 0010 


2126 


6131 


63A4 69AC 


2D24 


2734 EF94 


202C 5F 


S113 0020 


FFCA 


27FF 


92DF 93FF D9FF 


9A5F DAF6 


DAFF 60 


SI 13 0030 


975E 


52FB 


99DF OAEB 


D2EB 


5A0B OABD 


0100 B3 


SI 13 0040 


BD02 


OOBD 


020A BD02 


18BD 


022C BD03 


OCBD 09 


SI 13 0050 


02E3 


BD02 


8CBD 0480 


BO04 


9ABO 0500 


7E00 90 


SI 13 0060 


58BD 


BFDE 


09C0 8A5F 


92FF 


9ACF 9DEA 


1502 CO 


S113 0070 


9ACA 


CADB 


1AC3 D9D7 


12CF 


9AFA 9ABB 


9157 34 


SI 13 0080 


7386 


64C0 


4635 65A3 


6CA5 


6724 6537 


4401 4F 


S113 0090 


6131 


6127 


672D 2C2F 


6DB6 


6785 2520 


27A5 33 


S113 00A0 


9P5B 


B24B 


8ADA 9203 


C85A 


BAE8 OODB 


D80E 37 


SI 13 00B0 


88F9 


98 5B 


90EA EOEA 


DOES 


984A 181B 


C057 9A 


SI 13 00C0 


5136 


4085 


61F5 653F 


6DA4 


2537 652C 


7EAC BE 


SI 13 0000 


B585 


7523 


6737 6525 


9025 


75B8 2F35 


25F9 Bl 


SI 13 00E0 


8708 


D202 


1FF4 AB59 


9050 8001 19C9 800A 18 


S113 00P0 


82CA 8A4P 


98D8 1859 


82C0 


IA46 82BO 0200 13 


S113 0100 


CEOt 


OABD 


E07E BDE1 


AC39 


1016 434F 


4D40 22 


SU3 0110 


414E 4453 


OAOA 0052 


2040 


4F56 4520 


5249 23 


sin 0120 


4748 


540A 


0D4C 2D40 


4F56 


4520 4C45 


4654 06 



Listing 1 continued on page 98 



Hardware Dependence 

One final important topic is the config- 
uration of my system. This program is 
designed around that configuration, and 
any other could cause problems. Most 6800 
system owners should not have any diffi- 
culty but, to be on the safe side, I'll go 
over the details quickly. 

First, my terminal system is set up to 
print 32 characters on each line and 16 
lines on each page. When I run this program 
I operate my terminal in the page mode. 
Table 1 describes all the control characters 
used by my system to move the cursor 
around and to erase the screen. The ter- 
minal is set to upper case operations. 

Loading the Program 

The program (listing 1 is in the MIKBUG 
tape format) is ready for hand entry. To begin 
entry, assuming that you are under MIKBUG 
control, type an L (load) and enter each line 
exactly as it appears. If you make a mistake, 
the checksum error detection feature of 
MIKBUG will catch it and cause the terminal 
to print a question mark. In order to pro- 
ceed, again enter an L command and retype 
the line in question. 



96 June 1979 © BYTE Publications Inc 



we »u«£ do M-ioe . tevroes. oun oi»« tniNsivE 

efVMJ. tVSTSKV •OFTLjR<lS,eo-US / C1tt«i-n.Vt COMPUTING, 
WltltOlOPT , TRS-go iOFTUftM EXCMftHftS , SoFT^PC, 
ftlUCLi eNTSePHlseS AHO tAAMf OTKSR. SOFtUMW PUfclXSHeiU. 




PROGRAM 

GALACTIC BLOCKADE RUNNER 

SCI-FI GAME SAMPLER 

R/T LUNAR LANDER 

MICRO-TEXT EDITOR 

OTHELLO III 

AIR RAID 

MICRO-CHESS 

BRIDGE CHALLENGER 

APPLE 21 

STAR WARS/SPACE MAZE 

RENUMBER 

DISK RENUMBER 

PILOT 2.0 

PILOT 3.0 

APPLE TALKER 

APPLE LIS'NER 

TIC-TAC-TALKER 

FORTRAN 

SYSCOP 

ANDROID NIM-2 

SNAKE EGG 

LIFE 2 

DCV-1 

MUSIC MASTER 

DISK MUSIC MASTER 

TRS-80 CP/M 

PET ASTROLOGY 

PERSONAL FINANCE PKG. 

TRS-80 DISK LIB. "A" 



AN EXCITING SPACE WAR GAME WITH GRAPHICS 

3 GAMES— LUNAR LANDER— STAR MONSTER— SPACE BATTLE 

A REAL TIME LUNAR LANDER WITH GRAPHICS 

FORMAT TEXT— SAVE & LOAD TO TAPE— OUTPUT TO PRINTER 

A STRATEGY BOARD GAME— PLAY AGAINST COMPUTER OR OTHERS 

A REAL TIME, ARCADE TYPE SHOOTING GAME IN MACH. LANG. 

PLAY CHESS WITH YOUR COMPUTER— VARIOUS LEVELS OF DIFF. 

DON'T WAIT FOR OTHERS TO PLAY— YOUR COMPUTER'S READY 

BLACKJACK WITH HIRES GRAPHICS 

SCI-FI GAMES FOR THE APPLE 

RENUMBER YOUR BASIC PROGRAMS— RENUMBERS EVERYTHING 

SAME AS ABOVE, BUT ON DISK 

THE EDUCATIONAL LANGUAGE. IN MACH. LANG— INC. EDITOR 

THE DISK VERSION OF THE ABOVE 

YOUR APPLE SPEAKS! NO NEW HARDWARE REQUIRED 

SPEECH RECOGNITION THE EASY WAY— GREAT WITH THE TALKER 

TIC-T AC-TOE USING SPEECH SYNTHESIS AND RECOGNITION 

FOR THE TRS-80— SEE MICROSOFT'S ADS 

MAKE BACKUP TRS-80 SYSTEM TAPES THE EASY WAY 

GAME OF NIM WITH ANIMATED ROBOTS AND SOUND 

A BETTING GAME WITH ANIMATED SNAKES AND SOUND 

100 GEN. PER MIN. LIFE & BATTLE OF LIFE W/ANIMATION & SOUND 

PUT SYSTEM TAPES ON DISK EVEN IF IN SAME MEM AS DOS 

ENTER SHEET MUSIC— THE TRS-80 THEN COMPILES & PLAYS IT 

SAME AS ABOVE BUT ON DISK W/MANY SELECTIONS 

OPENS UP THE WHOLE WORLD OF CP/M SOFTWARE TO THE TRS-80 

DOES ALL THE COMPUTATIONS FOR YOU 

KEEPS TRACK OF CHECKS. BUDGET. COMPUTES INTEREST 



9 PROGRAMS ON DISK— INC. BLOC. RON, OTHELLO ETC. 
BUSINESS AND APPLICATION SOFTWARE— CALL OR WRITE FOR DETAILS 
16K MEMORY UPGRADE FOR TRS-80, APPLE & SORCERER COMPUTERS 
C-10 HIGH OUALITY DATA CASSETTES W/SCREW HOUSINGS 
VERBATUM 5-1/2 INCH BLANK DISKETTES 



9.95 
7.95 
7.95 
9.95 
7.95 
14.95 
19.95 
14.95 
9.95 
12.95 
14.95 
19.95 
14.95 
24.95 
15.95 
19.95 
19.95 



9.95 

14.95 

14.95 

14.95 

9.95 

14.95 

24.95 

$150.00 

$ 14.95 

$ 9.95 

$ 39.95 

$ 94.95 
10/$ 10.00 
10/$ 34.95 



CD 

O 



l<Wo OFF IF YOU ORDER 3 SOFTWARE PACKAGES OR MORE SEND FOR FREE CATALOG— GIVE TYPE OF COMPUTER 



AVAILABLE FROM THESE FINE MICRO COMPUTER DEALERS 



JAJ ELECTRONICS LTD 
U COLLINOTON AVE. 

BEXHILL ON-SEA, E. SUSSEX. ENO. 

COMPUTER VILLAGE 
931 SW I7TH AVE. 
MIAMI FL 33114 

L. C. SALES 

100 HINCHEV AVE. 1703 

OTTAWA, ONT., CAN. KIY4L9 



HOBBY WORLD ELECTRONICS 
19353 BUSINESS CENTER DR. M 
NORTHRIDGE CA 91324 

AUGUST AUTOMATION 
21 MILK ST. 
WESTBORO MA 01511 

THE CPU SHOP 
39 PLEASANT ST. 
CHARLESTOWN MA 02129 



CAPJTOL COMPUTER SYSTEMS COMPUTER CABLEV1SION, INC. 

3396 EL CAM I NO AVE. 2617 42ND ST. NW §2 

SACRAMENTO CA 95121 WASHINGTON DC 20007 

TRS-40 SOFTWARE EXCHANGE KENNEDY SYSTEMS 

17 BRIARCLIFF DR. 74 BROAD ST. 

MILFORD NH 03035 LYNDONVILLE VT 05151 



OP AMP TECH BOOKS 
1033 N. SYCAMORE AVE. 
LOS ANGLES CA 90031 



ADVANCED COMPUTER PRODUCTS 
I3IOBE. EDINGER 
SANTA ANA CA 92705 








■tto/vuiiiiJ^ 



TO ORDER BY PHONE OR FOR DEALER INFO— CALL— (617) 682-8131 

ADD 75c SHIPPING & HANDLING • MASS. RESIDENTS ADD 5% SALES TAX 

MAD HATTER SOFTWARE • 900 b SALEM RD • DRACUT, MA 01826 



■i |2 



Circle 202 on inquiry card. 



BYTt June 1979 97 



Listing 1 continued from page 96: 



0130 
0140 
0150 
0160 
0170 
0180 
0190 
01A0 
01 BO 

oico 

OlDO 
OlEO 
01P0 
0200 
0210 
0220 
0230 
0240 
0250 
0260 
0270 
0280 
0290 
02A0 
02B0 
02C0 
02D0 
02E0 
02F0 
0300 
0310 
0320 
0330 
0340 
0350 
0360 
0370 
0380 
0390 
03A0 
03B0 
03C0 
03D0 
03E0 
03F0 
0400 
0410 
0420 
0430 
0440 
0450 
0460 
0470 
0480 



OAOD 
4FS6 
5345 
4147 
4045 
2041 
0A53 
424F 
2050 
4E44 
454E 
4345 
4554 
CE02 
2705 
2066 
0227 
E07E 
EID1 
OABD 
8658 
7A02 
5527 
4827 
5327 
257E 
7E02 
Ilfil 
0200 
02 3C 
24B6 
7E02 
4184 
0000 
20P3 
038C 
8E27 
8CB6 
0203 
C17D 
D17E 
0000 
A700 
7PB7 
8611 
5PB7 
037E 
1P27 
27DP 
B604 
8820 
1308 
D37E 
A600 



552D 
4520 
2041 
4520 
2055 
4E20 
2053 
5645 
5245 
2053 
2052 
4544 
5445 
06BD 
6F00 
08B7 
7D02 
3910 
7D02 
E1D1 
A700 
6A7D 
2581 
2181 
IDBD 
0308 
P886 
39CE 
BD02 
BD02 
0324 
8C00 
1P88 
B002 
8600 
B603 
0608 
038D 
PP03 
03C1 
028C 
B002 
BDEl 
08BP 
B708 
099F 
028C 
EEPF 
2002 
3584 
27BD 
20P3 
028C 
8120 



4D4F 
444F 
4E20 
5245 
5000 
5820 
5441 
2043 
5041 
5441 
4541 
2C20 
522E 
E07E 
0820 
0227 
2727 
0A04 
6A27 
860D 
BDEl 
026A 
4427 
4327 
0203 
7E02 
08BO 
0820 
0A7E 
E37E 
841F 
OOBD 
1P27 
D3PP 
BDEl 
8C81 
7A03 
84E0 
BFB6 
2706 
B603 
D3A6 
D186 
B708 
5PB7 
B709 
PP04 
0434 
0000 
E088 
PF04 
FE04 
PE04 
270C 



5645 
574E 
580D 
5455 
QA46 
5749 
5254 
4P4D 
5245 
5254 
4459 
5459 
2004 
3910 
P639 
3900 
05BD 
861E 
0608 
BDEl 
D108 
2702 
2481 
2081 
20D4 
FC7E 
E1D1 
39BD 
E0E3 
028C 
881P 
02D3 
0686 
03 5A 
D17E 
0927 
8E20 
88 EO 
03BP 
097A 
C084 
0081 
08BD 
FFB7 
089P 
DF39 
347C 
7A04 
FF04 
E027 
34A6 
3486 
34B6 
0101 



2055 
OAOA 
0A43 
524E 
2D52 
5448 
ODOA 
4D41 
ODOA 
2052 
ODOA 
5045 
0000 
1604 
CE02 
1016 
026B 
B702 
7A02 
D139 
8620 
20E6 
4C27 
4527 
7E03 
0342 
A600 
E1AC 
BD02 
BD02 
2706 
FP03 
08BD 
B603 
028C 
1886 
P586 
27F4 
8108 
03CI 
E088 
5827 
E1D1 
09 3F 
B708 
BD02 
0435 
35B6 
34B6 
C820 
0081 
20A7 
0435 
01CE 



50QA 
0D45 
2D43 
OAOD 
4550 
2041 
OA55 
4E44 
4D41 
554E 
544F 
2041 
0000 
CE08 
28BD 
0A04 
20F0 
6A86 
6A20 
0086 
A700 
0139 
2381 
IF81 
8F7E 
7E04 
BDEl 
85E0 
D339 
D3FF 
8609 
407A 
E1D1 
5B85 
0000 
20B7 
OABD 
20DD 
2718 
20F5 
2027 
037E 
20EF 
B709 
DFB7 
D3A6 
B604 
0435 
0434 
09B6 
1127 
OOBD 
8401 
0495 



0D44 
2D45 
4152 
462D 
4C41 
4E20 
5345 
5320 
5A45 
2E20 
2050 
4E59 
0000 
008C 
E07E 
BD02 
CE02 
58A7 
EE08 
10B7 
BDEl 
BD02 
5227 
4627 
03 5C 

08 7E 
D186 
2701 
BD02 
0323 
BDEl 
0341 

09 7E 
1F27 
BD02 
038E 
E1D1 
0000 
8620 
860B 
P420 
028C 
86FF 
7FB7 
09 IP 
0081 
3584 
84 IF 
8108 
0435 
0781 
E1D1 
27F3 
BDEO 



2D4D 51 
5241 FE 
5249 E4 
484F 9B 
4345 91 
460D C6 
2041 D4 
544F EA 
2041 67 
5748 E9 
524F 28 
204C F8 
0000 25 
OAOO 2A 
CE08 FP 
467A 50 
43BD B5 
OOBD EC 
0886 40 
026A ID 
D108 BA 
E781 OB 
2281 F5 
1E81 16 
7E03 AF 
03C2 70 
08BD 45 
39BD 23 
D3BD D4 
7C03 C7 
D108 5B 
B603 72 
028C EF 
0309 DO 
D3FF E7 
7D03 7E 
7E02 17 
OOBD F6 
B703 23 
BDEl 8P 
DDOO BF 
8646 16 
B708 B3 
09BF 91 
B709 A9 
5827 1A 
IF88 C3 
881F 71 
270B BO 
84E0 82 
PF27 C8 
BD02 A9 
20E7 CE 
7ECE 9B 



I've never seen documentation covering 
the types of errors the MIKBUG error 
detection feature will catch, so I purposely 
made a number of different errors and can 
report that all were detected. I entered 
incorrect digits, tried nonhexadecimal char- 
acters, rearranged the placement of correct 
digits and entered the address incorrectly. 
While I can't guarantee absolute reliability 
in error detection, I can say that I've entered 
many programs by hand using this method, 
and to the best of my knowledge every 
entry error that I made was caught. 

As you successfully enter each line, it 
is stored in memory. Should you be unable 
to complete the loading of the entire pro- 
gram in one sitting you may use the tape 
dump feature of MIKBUG to store what 
you have entered on cassette or paper 
tape. At the beginning of your next session, 
load the tape back into memory and begin 
hand loading at the point you left off 
previously. 

Eventually you will have the entire pro- 
gram in memory. Before you do anything 
else, I suggest that you generate a tape of the 
program. Once that is done, prepare your 
terminal system to use the program. Set it 
in the page mode, for upper case operation, 
with the cursor in a nonblinking mode. The 
hexadecimal starting address is 003D. Once 
you have this loaded into addresses A048 
and A049, you will be ready to issue the go 
command. 

Because I have entered this entire pro- 
gram by hand on three separate occasions, I 
can appreciate the feelings of those who 
think that it's just too big a job. To assist 
those who are lacking the time or inclina- 
tion to hand load this program, I will be 
happy to supply a Kansas City standard 
cassette tape of the program for a $5 fee. 

Conclusion 

This program is serious fun. As written, it 
provides quite a bit of excitement but, 
human nature being what it is, the urge to 
improve things may strike one or more of 
you. Ideas for improvement could include 
adding land mines, a limited range requiring 
stops for fuel, magic spots that transport to 
another location, and even little Klingons. If 
these or other ideas excite you, I hope you'll 
get busy and write the program to contain 
them. I'd like to run it." 



98 



June 1979 © BYTE Publications Inc 



Circle 152 on inquiry card. 



Listing 7 continued: 


















S113 0490 


0841 


3900 


0010 


OAOA 


0904 A620 


8120 


2735 


E2 


S113 04A0 A601 


8120 


2735 


BD04 


EAFE 


04E7 


8120 


272F 


19 


SI 13 04B0 


09A6 


0008 


8120 


272B OWE 067B 


BDEO 


7E7E 


F5 


SI 13 04C0 


0773 


1015 


4E4F 


204D 


4F56 


4553 


2E04 


0000 


10 


SU3 04D0 


0000 


0000 


4086 


44 B 7 


04D4 


3986 


5220 


F886 


DO 


S113 04E0 


5520 


F486 


4C20 


FOOO 


0000 


FF04 


E786 


20B7 


76 


SI 13 04F0 


04E9 


7D04 


E927 


0609 


7A04 


E920 


F5A6 


0039 


10 


S113 0500 


B006 


CE86 


52B1 


04D4 


2715 


864C 


B104 


D427 


37 


S113 0510 


2786 


55BI 


04D4 


2756 


8644 


B104 


D427 


3486 


9B 


S113 0520 


09BD 


E1D1 


BD06 


BD86 


01A7 


0008 


BD06 


CEA6 


62 


S113 0530 


0181 


2027 


EA7E 


0597 


8608 


BDE1 


D1BD 


06BD 


6D 


SI 13 0540 8601 


A 700 


09BO 


06CE 


09A6 


0008 


8120 


27E8 


78 


S113 0550 


7E05 


9786 


OABD 


ElDl 


BD06 


BD86 


01A7 OOBD 


13 


S113 0560 


058D 


BD06 


CEA6 


2081 


2027 


E87E 


0597 


860B 


43 


S113 0570 


BDE1 


DIBO 


06BD 


8601 


A700 


B004 


EABD 


06CE 


IE 


S113 0580 


BD04 


EAFE 


04E7 


8120 


27E4 


7E05 


9786 


204D 


1A 


SI 13 0590 


2704 


084A 


20F9 


3939 


8652 


B104 D427 


1B86 


26 


SI 13 05A0 


4CB1 


04D4 


2747 


8655 


B104 


0427 


6986 


44BI 


95 


SI 13 05B0 


04D4 


275F 


CE04 


C27E 


04BC 


BD06 


6527 


11BD 


EA 


SI 13 05C0 


0660 


2713 


BD06 


5427 


15B0 


0659 


2717 


20E4 


D6 


SI 13 05D0 


BD04 


DFBD 


0697 


39BO 


04D5 


BD06 AA39 


BD04 


E7 


SI 13 05E0 


DBBO 


0681 


3986 


04A7 


OOBD 


0690 


39BD 


0665 


CA 


SI 13 05P0 


27DE 


B006 


6027 


EOBD 


0659 


2708 


BD06 


5427 


3F 


S113 0600 


0A7E 


05CE 


BD04 


E3BD 


068C 


3986 


04A7 


OOBD 


71 


S113 0610 


0685 


397E 


0635 


B006 


5427 


C3BD 


0659 


27E4 


31 


S113 0620 


BD06 


6527 


ABBD 


0660 


2703 


7E05 


CE86 


04A7 


FD 


S113 0630 


OOBD 


06AE 


39BD 


0654 


27A4 


B006 


5927 


C5BD 


65 


S113 0640 


0660 


2793 


BD06 


6527 


037E 


05CE 


8604 A700 


B2 


S113 0650 


BD06 


9B39 


A601 


8101 


3909 


A600 


0881 


0139 


2B 


SI 13 0660 


A620 


8101 


39FF 


0679 


8620 


4D27 


0409 


4A20 


F6 


S113 0670 


P9A6 


OOFE 


0679 


8101 


3900 


OOBD 


0598 


7E04 


C3 


S113 0680 


9A86 


01A7 


0086 


09B0 


ElDl 


0839 


8601 


A700 


31 


S113 0690 


8608 


BDE1 


D109 


3986 


01A7 


0086 


OBBD 


ElDl 


E9 


SI 13 06A0 


8620 


4D27 


0409 


4A20 


F939 


8601 


A700 


860A 


C5 


SI 13 06B0 


BDE1 


D186 


204D 


2704 


084A 


20F9 


39C6 


1086 A9 


SI 13 06C0 


FF4D 


2703 


4A20 


FA5A 


5D27 


0220 


F239 


FF07 


IB 


S113 06DO 


0086 


214D 


2704 


094A 


20F9 


8646 A100 


2722 


D5 


S113 06E0 AlOl 


271E A102 


271A A120 


2716 A122 


2712 


41 


S113 06F0 A140 


270E A141 


270A A142 


2706 


FE07 


0039 


7F 


SI 13 0700 


0000 


CE07 


OBBD 


E07E 


7E07 


2C10 


1546 


4F55 


2A 


S113 0710 


4E44 


2049 


542E 


2052 


4552 


554E 


2053 


414D AB 


S113 0720 


4520 


4D41 


5A45 


3F20 


592F 


4E04 


BDE1 


AC81 


2F 


S113 0730 


5927 


1381 


4E27 


0C86 


08BO 


ElDl 


8615 


BDEl 


EA 


S113 0740 


D120 


E97E 


077F 


CE08 


20A6 


0081 


0127 


0C81 


F5 


SI 13 0750 


0427 


088C 


09FF 


2709 


0820 


EE86 


20A7 


0020 


IB 


S113 0760 


F286 


ODBD 


E1D1 


8615 


BDE1 


D186 


OABD 


ElDl 


88 


S113 0770 


7E07 


79CE 


0716 


7E07 


058E 


A042 


7EO0 


4F8E 


37 


S113 0780 


A042 


7E00 


4043 


BF58 


97A9 


AE19 


PF6C 


8F51 


19 


SI 13 0790 


DF55 


BF3D 


9739 


A44B 


AF39 


9A79 


8A1B A76C 


B3 


Si 13 07A0 


2092 


4806 


4887 


5802 


4106 


40A2 


40C2 


4086 


2B 


SI 13 07B0 


5897 


50C5 


60E7 


6808 


61D0 


5086 


5C86 


68A2 


87 


S113 07C0 


FE3F 


9F79 


AFBD 


BFFC 


FF5D DF75 


FF7D DE3D 


62 


S113 07DO 


FF59 


9F59 


9F7F 


8F7F 


BF6D 


B731 


A671 


A77B 


4C 


S113 07E0 


0184 


1C82 


5082 


40C7 


10B6 


4147 


50AB 


6806 


52 


S113 07F0 


5086 


2041 


6182 


1882 


4186 


7003 


7003 


0083 


11 




Starving 



business 

software 
For your 

TRS-80? 



raham-Dorlan now has a 
;ial department to serve the 
Jial needs of TRS-80 
lers. And we have four 
comprehensive: business 
software packages available on; 
diskfor any TRS-80 system with 
32K or more of memory, 2 to 4 
disk drives, and a fine printer. 
They operate with the CP/M® 
disk operating system and 
CBASIC-2. 

Each package includes source 
code on disk and hardcopy 
source listings in the 
comprehensive user's manual. 

Use your TRS-80 system to its 
fullest with these 
sophisticated programs: 

• Inventory Package — Can be 

connected with cash register for 
point of sale inventory control. 
Number of on-line items limited 
only by disk space available. 

• Cash Register Package — 
Creates daily sales reports 
Containing information on gift 
certificates, paidouts, overrings, 
refunds, and how much in each 
category a salesperson sold. 

• Payroll Package — Handles 100% 
of all necessary payroll functions 
including state income tax tables 
for your state. Ideally suited for 
both large and small companies. 

• Apartment Package — Said one 
user, "Obviously, this was 
developed by apartment owners." 
The package fills virtually all the 
needs of apartment owners and 
managers. Ideal for projects with 
75 units or more. 

$695.00 for any package listed 
above. Any single package order 
includes free CBASIC-2. 
CBASIC-2 sold separately - $89.95. 
CP/M Disk Operating System -$150.00 

Send for detailed packet of 
information explaining capabilities of 
each program and sample runs. Or, 
phone our software technicians. 
Attractive dealerships available. 
Graham-Dorian Soltware Systems programs are 
copyrighted and require licensing agreement. 



G^d 



Visa and 
MasterCharge accepted. 

Graham-Dorian Software Systems 

A Division of Graham-Dorian Enterprises 
211 N. Broadway / Wichita, KS 67202 
(316) 265-8633 



lune 1979 © BYTE Publications Inc 99 



Computer Generated Maps, 



Part 2 



William D Johnston 

1808 Pomona Dr 

LasCrucesNM 88001 



In part 1 (May 1979 BYTE, page 10) we 
discussed the fundamental techniques in- 
volved in the production of computer gener- 
ated maps and how to apply those tech- 
niques to some common map projections. 
We also presented several simple programs in 
BASIC which could be easily implemented 
in your own system to create maps for a 
variety of purposes. Nevertheless, these 
simple programs do have their limitations. In 
this installment we will develop a map pro- 
jection program which is only slightly more 
complex, but far more versatile in what it 
can accomplish. 

One of the most interesting projections 
mentioned in part 1 was the perspective pro- 
jection, whereby the Earth is shown exactly 
as it appears to an observer at some specified 
height above the surface. Several perspective 
projections were illustrated, but all of these 
were simplified examples where the observer 
(or point of projection) was at infinity. It 
would be much more useful to have a pro- 
gram which would generate maps of the 
Earth as it appears from any chosen altitude 
and over any desired location. Such a pro- 
gram would give enormous flexibility to dis- 
plays for space war games and other such 
practical applications as creating map over- 
lays for weather satellite photographs. 

Although details of a program to produce 
this type of projection were not discussed, 
the reader was encouraged to investigate the 
subject of perspective (or projective) ge- 
ometry to see how the task could be accom- 
plished. By this time many of you have, no 
doubt, learned that the solution is really 
quite simple. 



Development of Perspective Projection 

The key element of the solution can be 
explained in the following manner: if a line 
is extended from the center of the Earth to 
an observer in space, the point on the sur- 
face of the Earth that the line passes through 
is called the observer's subpoint. In other 
words, the observer is directly over this 
point with respect to the center of the Earth. 
Now, extend a sight line from the observer 
to any visible point on the surface of the 
Earth. You will find that the azimuth angle 
of the sight line (as measured clockwise from 
true north) is the same as the great circle 
bearing from the observer's subpoint to the 
distant surface point. 

Knowing this, you should have been struck 
by the realization that you might be able to 
use the same program that was used to gen- 
erate azimuthal equidistant maps in part 1, 
to also generate perspective maps. Can it 
be used? Almost. 

The portion of the program which com- 
putes the angular component of the polar 
form of the map coordinates is indeed the 
same, and the computation of that angle 
constitutes the major part of the program. 
As its name implies, however, the azimuthal 
equidistant projection portrays radial dis- 
tances uniformly. In a perspective view, dis- 
tances are not uniform, but become increas- 
ingly compressed toward the Earth's limb 
(ie: edge of visible disk). All we have to do is 
replace a single statement in the program to 
correctly compute the radial distance. We 
will then have the means to produce a per- 
spective projection of the Earth as viewed 
from any desired altitude over any desired 
point. By using a simple logic flag, we can 
choose between either of the two projec- 
tions and use the same program to generate 
both types of maps. 

You will also recall from part 1 that polar 
equidistant maps are simply special cases of 
the azimuthal equidistant map, while the 
orthographic equatorial and orthographic 
polar maps are nothing more than special 
cases of the perspective projection. We can 



100 



lune 1979 © BYTE Publications Inc 




Wondering which memory 
is best for you? 




bQ/e 2* offers the following products 
to the S-100 market at the industry's 
lowest prices: 



f " pp 



ill I r'iv *__:__ -Jr. •'•• ■:.!■- '•~r'.:T7T..-^*:.'Tr:' 



f S1 



8K Static Memory Board 

This 8K board is available in two versions. The 8KS-B operates at 450ns for use with 
8080 and 8080A microprocessor systems and Z-80 systems operating at 2MHz. The 
8KS-Z operates at250ns and is suitable for use with Z-80 systems operating at 4MHz. 
Both kits feature factory fresh 21 02's (low power on 8KS-B) and includes sockets for 
all IC's. Support logic is low power Schottky to minimize power consumption. Address 
and data lines are fully buffered and 4K bank addressing is DIP switch selectable. 
Memory Protect/Unprotect, selectable wait states and battery backup are also 
designed into the board. Circuit boards are solder masked and silk-screened for ease 
of construction. These kits are the best memory value on the market! Available from 
stock . . . 8KS-B $125 (assembled and tested add $25.00) 

8KS-Z $145 (assembled and tested add $25.00) 



16K Static Memory Board 

Base2 can now offerthe same price/performance in a 1 6K static RAM as in its popular 
8K RAM. This kit includes 8K bank addressing with 4K boundary address setting on 
DIP switches. This low power unit provides on-board bank selection for unlimited 
expansion. . . No MUX board required. Usinghighestqualityboardsand components 
we expect this kit to be one of the most popular units on the market. Available in two 
speed ranges, the 1 6KS-B operates at 450ns while the 1 6KS-Z operates at 250ns. 

16KS-B $275.00 (assembled and tested) 

16KSZ $300.00 (assembled and tested) 





Z-80 CPU Board 

Our Z-80 card is also offered in two speed ranges. The CPZ-1 operates at 2MHz and 
the CPZ-2 operates at 4MHz. These cards offer the maximum in versatility at 
unbelievably low cost. A socket is included on the board for a 2708 EPROM which is 
addressable to any 4K boundary above 32K. The power-on jump feature can be 
selected to address any 4K boundary above 32K or the on-board 2708. An On-board 
run-stop flip-flop andoptional generation of Memory Write allows the board to run with 
or without a front panel. The board can be selected to run in either the 8080 mode, to 
take advantage of existing software, or in the Z-80 mode for maximum efficiency. For 
use in existing systems, a wait state may be added to the M1 cycle, Memory request 
cycle, on-board ROM cycle, input cycle and output cycle. DMA grant tri-states all 
signals from the processor board. All this and more on top quality PC boards, fully 
socketed with fresh IC's. CPZ-1 $110 CPZ-2 $125 



S-100 for Digital Group Systems 

This kit offers, at long last, the ability to take advantage of S-1 00 products within your 
existing Digital Group mainframe. Once installed, upto four S-100 boards can be used 
in addition to the existing boards in the D.G. system. The system includes an 
"intelligent" mother board, ribbon cables to link existing D.G. CPU to the DGS-100 
board and a power wiring harness. The DGS-1 00 is designed to fit in the 5-3/4" x 1 2" 
empty area in the standard D.G. cabinet. It may seem expensive but there's a lot here! 
End your frustration! DGS-100 $250.00 




bo/e 9 .inc. 



Send for more details on these products. Get on our mailing list for 
information on more soon to be announced products at factory-direct 
prices from BASE 2. Why pay more when you can get the best at 
these prices??? 

P.O. Box 3548 • Fullerton, Calif. 92634 

(714) 992-4344 

CA residents add 6% tax 

MC/BAC accepted • FOB — U.S. destination 



Circle 22 on inquiry card. 



BYTE June 1979 



101 



Listing 7 : BASIC subroutine for generating general purpose, perspective 
projection maps. 



SUBROUTINE TO COMPUTE MAP COORDINATES 
FOR PERSPECTIVE. MODIFIED PERSPECTIVE. 
AND AZIMUTHAL EQUIDISTANT PROJECTIONS. 



THE FOLLOWING FUNCTION MUST BE DEFINED 
BEFORE THIS SUBROUTINE IS CALLED! 

FNC( ) COMPUTES THE ARC COSINE OF THE 
ARGUMENT. THE FUNCTION MUST BE 
NON-AMBIGUOUSi THAT IS. IT MUST 
ATTACH THE CORRECT ALGEBRAIC 
SIGN TO THE RESULT. A GOSUB TO 
AN ARC COSINE SUBROUTINE MAY BE 
SUBSTITUTED IF DESIRED. 



THE FOLLOWING CONSTANTS MUST BE DEFINED 
BEFORE THIS SU3R0UT1NE IS CALLED THE 
FIRST TIME. AND ARE NEVER CHANGED! 

E = 6378.0. THE MEAN RADIUS OF THE 
EARTH. IN KM. 

Kl = 1.0 

K2 = 1.5707963. THE VALUE OF PI/2. 

K3 = 3.1415927. THE VALUE OF PI. 

K6 = 6.2831853. THE VALUE OF 2*PI. 

T = 0.00015. USED AS A TEST VALUE. 

Z S 0-0 



THE FOLLOWING VARIABLES MUST BE DEFINED 
BEFORE THIS SUBROUTINE IS CALLED THE 
FIRST TIME FOR ANY GIVEN MAP. EACH 
TIME A NEW MAP IS TO BE STARTED. THESE 
VARIABLES MUST BE REDEFINED BEFORE 
CALLING THE SUBROUTINE THE FIRST TIME 
FOR THAT MAP. AND ARE NOT CHANGED UNTIL 
THE MAP IS FINISHED! 

A IS THE GEOGRAPHIC LATITUDE OF THE 
LOCATION ON WHICH THE MAP IS 
CENTERED. 

Al IS EQUAL TO SIN(A) . 

A2 IS EQUAL TO COS(A). 

F IS THE MAP SCALE FACTOR TO CONVERT 
TRUE PROJECTED RADIAL DISTANCE TO 
THE MAP RADIAL DISTANCE. 
F = R/(E*SIN(M) ) . WHERE R IS THE 
KADIUS OF THE FINISHED MAP. IN CM OR 
INCHES! E IS AS DEFINED ABOVE! M IS 
AS DEFINED BELOW. 

F IS USED ONLY FOR PERSPECTIVE AND 
MODIFIED PERSPECTIVE PROJECTIONS. 

fi is the map scale factor to convert 

TRUE ARC DISTANCE TO THE MAP RADIAL 
UlSTANCE. Fl IS USED FOR AZIMUTHAL 
LOUIDISTANT PROJECTIONS ONLY. 
Fl = R/M. WHERE R IS THE RADIUS OF 
THE FINISHED MAP. IN CM OR INCHES! 
rtND M IS AS DEFINED BELOW. 

G IS A PRECOMPUTED FACTOR USED IN THE 
COMPUTATION OF THE RADIAL COMPONENT 

Listing 7 continued on page 104 



1000 


REM 


1005 


REM 


1010 


REM 


1015 


REM 


1020 


REM 


1025 


REM 


1030 


REM 


1035 


REM 


1O4O 


REM 


1045 


REM 


1050 


REM 


1055 


REM 


1060 


REM 


1065 


REM 


1070 


REM 


1075 


REM 


1080 


REM 


1065 


REM 


1090 


REM 


1095 


REM 


1100 


REM 


1105 


REM 


1110 


REM 


1115 


REM 


1120 


REM 


1125 


REM 


1130 


REM 


1135 


REM 


1140 


REM 


1145 


REM 


1150 


REM 


1155 


REM 


1160 


REM 


1165 


REM 


1170 


REM 


1175 


REM 


1180 


REM 


1185 


REM 


1190 


REM 


1195 


REM 


1200 


REM 


1205 


REM 


1210 


REM 


1215 


REM 


1220 


REM 


1225 


REM 


1230 


REM 


1235 


REM 


1240 


REM 


1245 


REM 


1250 


REM 


1255 


REM 


1260 


REM 


1265 


REM 


1270 


REM 


1275 


REM 


1280 


REM 


1285 


REM 


1290 


REM 


1295 


REM 


1300 


REM 


1305 


REM 


1310 


REM 


1315 


REM 


1320 


REM 


1325 


REM 


1330 


REM 


1335 


REM 


1340 


REM 


1345 


REM 


1350 


REM 


1355 


REM 


1360 


REM 


1365 


REM 



see that by this very simple modification of 
the azimuthal equidistant map program, we 
can use a single subroutine to generate any 
desired perspective map, as well as all of the 
orthographic, polar equidistant, and azi- 
muthal equidistant maps illustrated in the 
earlier article! We will add a few frills that 
will make the program still more versatile. 

Modified Perspective Projection 

The azimuthal equidistant map portrays 
radial distances in a linear fashion. On the 
other hand, radial distances in a perspective 
map are computed from an involved trigono- 
metric formula in order to show them as 
they actually appear when viewed from 
some point in space. Each of these maps has 
its own special applications, but also has (as 
do all maps) certain distortions. 

A projection which is a compromise be- 
tween the kinds of distortions inherent in 
the azimuthal equidistant and the pure per- 
spective maps can be easily developed. This 
is done by using the same angular compo- 
nent, but presenting the radial distance in 
direct proportion to the sine of the arc dis- 
tance. For the sake of simplicity, I will call 
this a modified perspective projection. It has 
been included as an option in the accom- 
panying program. This projection is quite 
useful, especially when used in conjunction 
with the pure perspective projection, as we 
will see in some later examples. As an added 
bonus, the sine of the arc distance has to be 
computed anyway to come up with the 
angular component of the map coordinates, 
so we don't have to do any extra work to 
include this projection in the program. 

General Purpose Perspective Projection 
Program 

The program in listing 1 is in the form 
of a subroutine, and is to be used in the 
same manner as the subroutines presented 
in part 1. The subroutine is fully docu- 
mented by the remarks contained within it, 
so there is little need to elaborate. In fact, 
of the 300 lines in the listing, fewer than 
60 are executable statements; the other 240 
or so are all remarks concerning the use 
and operation of the program. 

As in the case of the earlier programs, 
certain parameters are initialized, then the 
subroutine is called once for each pair of 
coordinates to be converted. A geographic 
latitude and longitude from the data base 
(see part 1 for a description of the data base) 
are supplied to the subroutine each time it 
Text continued on page 708 



102 



June 1979 © BYTE Publications Inc 



Waiting for the right 16 bit computer? 

YOUR WAIT IS OVER! 




Marinchi p Sy stems M9900 System - 1 



I HARDWARE 

16 bit CPU 

S-100 bus (11 slots) 

60K RAM 

Dual 8" diskettes 

24 x 80 display 



■ SOFTWARE 

Network operating system 

Extended Commercial BASIC 

PASCAL 

Word Processor 



APPLICATIONS 

Payroll 

Accounts 
Payable/Receivable 

General Ledger 



■ If you've been waiting for the right small computer, your wait 
is over. 

■ The Marinchip Systems M9900 System-1 combines a 16 bit 
processor, powerful system software and the most wanted 
applications into a ready-to-use desktop computing system — a 
system that delivers the flexibility, performance and convenience 
made possible only by the combination of a third generation 
16 bit processor and the industry compatible S-100 bus. 

■ If you've been waiting for a 16 bit computer, wait no more. 
The M9900 gives you the Tl 9900 — not an expanded micro- 
processor, but a mini-computer on a chip, complete with 
hardware multiply and divide and multiple register sets. And 
unlike other 16 bit microprocessors, the 9900 is a member of a 
complete, compatible, minicomputer family, so if you outgrow 
the M9900, you don't have to start all over. 

■ If you've been waiting for a more powerful operating system, 
your wait is over. The M9900's Network Operating System is a 
system without limits — designed to grow as computer hardware 
evolves, without forcing you to change programs every time 
you change the hardware. The system provides byte addressable 
files up to four billion bytes in length, complete dynamic 
allocation and release, random/sequential access and linked 
directories for complex file structures. The system automatically 
pages file data to memory to optimize performance. All I/O 
devices are treated as files, eliminating device-dependent code 
in applications. 

■ If you've been waiting for a better BASIC, the M9900's 
Extended Commercial Basic gives you 16 digit accuracy, PRINT 
USING, random and sequential files, CHAIN with common 
variables and a choice of interpretive execution for debugging 



or compilation for production. If you already have applications 
in BASIC, you'll be glad to know that the M9900's BASIC is 
similar enough to the most popular 8 bit BASIC that conversion 
won't be a chore. 

■ If you've been waiting for applications you can really use, 
you'll find our Word Processor, Payroll, Accounts Payable and 
Receivable and General Ledger to be flexible, easily maintained 
and ready to use when you plug the system in. 

■ If you've been waiting for a computer you can expand when 
you need to, the M9900's optional 165 CPS line printer ($2500) 
and 40 Megabyte removable cartridge disc system ($14,000) 
will make you happy. And since the M9900 uses the S-100 
bus, you can choose accessory boards from the thousands 
available for S-100 systems — we don't tie you to our products. 

■ Finally, the M9900 gives you one advantage no other computer 
can — it's made by Marinchip Systems. We're a computer 
company, not just a hardware company, software company or 
applications house. We designed the M9900 from the chips to the 
applications to bring you a product that advances the state 

of the art in small computers. Our products are mature, tested 
items, not dreams, and they're backed up by complete 
documentation that's been called the best in the industry. 

■ Since we're responsible for all the M9900, we're responsive 
to you. When you have a question, we can give you an answer, not 
another phone number. If you want to go your own way with 
the system, we also sell boards and kits that you can put into your 
own package. 

■ The wait for the third generation is over, so don't wait any 
longer. Call or write today for more detailed information, or order 
our complete set of manuals. 



Complete system $7500 



Manuals only $40 



« ■ • ■ • *n a 16 St. Jude Road 

Mamiicliip Sygiemg mhi vaiiey, ca 94941 ■ (415)303-1545 



Circle 206 on inquiry card. 



BYTE |une1979 



103 











>- 

CQ 






1- 
z 






UJ 








Ul 

z 


UJ 

I 




u. 

o 




u. 

O 












a 

UJ 


to 




s 


<o 




Q 






UJ 






I 






Ul 


1—1 


1- 




Ul 








in 


cc 


cc 




in 


cu 




o 


z 




Ul 


UJ 




z 






o i- 






z 


l/l 






z 




1- 




z 


o 


o 




in 


i 1 




cc 






t- 


UJ 




o 




l_> 


cc 






f— 1 


o 


u. 




y-i (S) 




z 




< • 








Ul Ul 


Q. 




u_ 


UJ 




r> 


171 




0. 






< z 






l/l 


l_> 


o 




in z 




UJ 




Ul UJ 


Z 


z 




I o 


C 

o 






CD 




CL 


>_» 




z 




u_ 


UJ 










Ul 




1— 1 




z 




2 -1 


o 


o 




K O 










£ 






O 0. 




o 


UJ Ul l/l 


(X) 




Ul 


Ul 


X IS Ul Ul 




Ul UJ 




o 




< 








CC 


T3 




UJ 


1- 




O 


,-t 




o < 






I IS l-H 


z 




I 


I 


\- Z Q i-c 




x cc 




CL 




o o 


z 


z 




Z CL 




o z 




o 


_J 




z 




Ul 


1- 1- 


1— 1 




1- 


1- 


— 3 




(- 




£ 




II l/l 


1-4 


H4 




Ul 


3 




3 


h— 1 










cc 




3 


— Ul 0. 


UJ 








z ui i- a. 




1- 




O 0. 




l/l 1 








Ul (0 


.C 




1- 


O 




Ul 


u. 




< Ul 




_i 


CD < 


CO 




cc 


cc 


Ul CO i-i < 




cc z 




o < 




u. 


* 


k 




3 Z 






1— 1 


CL 




ce 


o 




_l I 




< • 


Ul Z 






o 


o 


UJ OS 




O i-< 




z 




u. 


Ul 


Ul 




1- HI 


c 




co 






<i 






3 1- 




> Q 


o » 


h- 




u. 


u_ 


3 1- Z 




U-O 




UJ 




• o 


t- 


K 




Ul Ul 


o 




z 


UJ 






Ul 




10 




ul 


Z l/l Ul 


z 








i- z o uj 




CL 




O UJ 




<s 


< 


< 




U CO 


o 




o 


I 




ui 


3 




Z U. 




Ul M 


< Z X 


1—* 




Ul 


Ul 


Ul « -I I 




UJ 




Z X 




< l/l 


z 


Z 






» — 




_l 


H 




Ul 


_l 




<c o 




I •-> 


1- < 1- 


o 




IS 


is 


CD O 1- 




10 UJ 




< t- 




-1 z 


M 


i-« 




Ul H 


13! 










_i 


< 








K _l 


l/l H-l 


0. 




«I 


< 


0. Ul 




< I 




1- 




u. < 


a 


□ 




o z 


.g 




o 


U. 




ra 


^> 




3 z 




«t 


-H □ X 






cc 


cc 


UJ XX 




lC 1- 




n u. 




uJ 


a: 


CC 




z -• 






I— 1 


o 




< 






ui tr 




U. Z 


O < O 


UJ 




o 


o 


<_> Ul 1- o 




O 




■-. O 




UJ E 


o 


o 




UJ o 


JS 




X 






»-< 


UJ 




M o 




o cc 


CC n 


I 




1- 


\— 


Z I i-i 




1- Li. 




o 




_J 


o 


o 




CC Q_ 


Cj 




CL 


,-. 




cc 


K 




M u. 




o 


cc x 


(- 




l/l 


l/l 


ui i- a x 




in o 




z 




< -I 


o 


u 




Ul 






4 


Ul 




<.. 


3 




_j 




UJ z 


< Z 3 










ac z i 








-i cc 




O II 


1 


1 




U. ul 






a 


j) 




^>UI 


_J 




< cc 


* 


z 


_l 1-H 


Q 




>- 


>- 


UJ u. < 




>- Ul 




< O 


• 


in i/i 


X 


>- 




U. X 






10 


< 




z 


o 




s: < 


I/) 


t-l l/l 


3 z 


z 




cc 


cc 


u. o z 




cc a 




M U. 


U) 


1 








■1 t- 




• 


o 


CD 


• 


IS I-I 


l/l 




CC _1 UJ 


in —* 


IS - o 


<t 


• 


< 


< 


u. » o 




< z> 


• 


a 


Ul 


u 


CL 


CL 




Q 




o 


Id 




□ 


Zh 


CD 




o o 


1- 


o 


z — 




□ 


cc 


cc 


m Ul Q 


• 


CC K 


Q 


< cc 


►- 


u. • 


< 


< 




U. 




UJ 


O 


< 


UJ 


•-•3 


< 




z CL 


< 


o o 


< Ul z 


Q 


UJ 


o 


o 


DDUZ 


Q 


O !-• 


UJ 


cc < 


< 


O UJ 


z 


z 




Ul o 




l/l 




h" 


l/l 


30 




• 




z 




o o 


Ul l/l 


0. 


0- 


DUIO 


Ul 


0. 1- 


in 


-1 


z 


-1 


• 






X 




1/1 


UJ < 


in 


oce 


Ul 


«••» 


Ul Ul 


1— 1 


Ul Ul 


UJZh 


cc 


l/l 


z 


;sr 


Ul 1- l/l i-" 


CC 


s < un 


UJ o 


1—1 


Ul < 


ui in 


UJ 1/1 


1- UJ 




UJ 


X 


O Ul 


-ICO 


I 


3 


I I 


Q 


I cc 


I< 1- 


Ul 


UJ 


UJ • 


Ul • 


I M Ul H 


Ul 


Ul_l 


Ul 


I CL 


Q 


I o 


X UJ 


I 


Ul 


Q 




u 


►- 




(_> 


-13 


t- 


o 


t- t- 


CC 


K O 


1- 1- < 


1— 


u 


1- Q 


1- Q 


i-ou< 


1- 


1— 


O 


1- 


cc 


t- l/l 


1- X 


V- 


I 


Ul 3 




o 




ui o 


Ol/I 




_J 




o 


LL 


l/l o 


z 


o 






zoo 


z 


uj o 


Ul o 


1 


o 




o 


t- 1- 




CC 


l/l 


I 


tr 


u. 


in 


UJ 


l/l u. 


o 


10 Ul 


if <-> o 


Ul 


cc 


l/l u. 


l/l u. 


i/i o cc o 


UJ 


l/l I 


cr 


in I 


o 


in z 


in z 


l/l 


z 


O >-• 




a. 


~-t 


1 — 


a. 


Jl 


i— f 





.-t o 


J 


— a 


►"• Q _1 


u x 


— o 


•-• o 


H J 0. J D 


l-»l— 


a. 


UKU 


i-tO 


!-• —t 


1-t 


>-* 


Q-lO 












UJ>-i 










































z z 












r x 


— * 








.-t 








cH 


t\l 


-H 




^H 




—* 












o o 






_l 






i-t- 


CD 




o 




o 


o 






Q 


a 


-1 




CL 




CL 




in 


X 


>- 




O _l 





SZZSZSZZiEZSZ iZ2ZZZZSZZSZSJ£SSZSZSZZZZ£ZZZ^:ZZZiZZZZZZZZZZZ zz 

UJUJUJUJUJUJUJUJUIUJUJIJUIUJUJUJUJUIUJUJUJUJIULJUIUJUIUJUJUJUJUJUJUJUJUJUJUJUIUJUJUJUJUJUJUJUIUJUJUJUJLUUJIdUJUJ UIUI 

:Ecc:cccccaccccc:Ecca:ccacccCccrccccccccccca:cccc:ccccccccccccccc:ccca^ cccc 



II 

in 



ui 

_J 



oino/iojioi/ioinoinoino^o^OLnojioino^oinoino/iojioinoinoinoi/iQifio^ioJioinQ^oinoinooo 
u^invD^f^r^aDio^^c^o^^(\jc\jiOf0^^ioinvO\or^r^coco^^oo^^c\icuK>f0^^inin\0\Or^r^coto^^oc3^^^csjc\j 
vOvOsOvO vO vDvO^)\OvOr^-r^h-r^i^r- r^i^-f^i^r^r^r-r^r^r^r-r-r^i^- ro toco aD<ocococo d co o to co ai odco cocococoo^o>o^^crc^o^f\j 

^HHHHH-l-lrtHHrt-IHrt-IHrt-l-lrtHrt-l-IHHH-l-l-IHHHrtHHHrt-IHHHr<HHHrtrtHHrtHrtrt-lO|NIM 



QUJ ZO CC> QUI 

inz >in on UJnw _i >- i/i uj"i 

n "Il/l O n Ul I-I I- Ul > < K- Z X U! <U.<(/1 ZUII- 

in m.quico i/i»cl i— ox o ooui" 30iu< p-iz 

Ul<i in U1UK • (C h Ul >■ o Ul K- met uj ct I o O _l U. h Z 

3QZZI-ZUJ- Zl- ail CC 1-ZOQ.U.I-ZO UI0-CCQ. ull-O 

uiui i-HZOw^ic>Lnoo "sou. <ujzi-iu.i/i <z < ui uj < qdcc 

tree q<om| L i l z cczzoi-i ui occ o _ixi-i_i ccuj-u. u. i— z i/i 3 s • o u.o 

o_ ui< < zhujooz ui<<tzi- x "cccl in ni-o « uiiuiou >-uj 3_i I ujcc — z 

<ui i cc-«oo mi-i i/ii-i <o i- zo. uh is aiiii D.I- z oi/i zi/)< <oh coco m 

Z>SZ CC Ul I- I- COQ-UI Ol-O Zl- It- <UJUJZ<< UJ>I-CC DUIUJ 

i-i i/1U1UI">i/1XO- 0<IUJ~> l/l"Hyz 30. <*<UJI-CCCIl/1>-il0CC<t K>-U1X < l-l/l DO 

uii- -Q ->>o<ouji ori->o ujuji->< i-< xx < uuj qquj « l/1_JOt->-ClUJ l/l 3 

xo — z io: "ir i-hti- ui cc>-icc i-zo>-ii- >-iS uii-i-ouji-iz<ujx-z m jd zuj 3in i-i- 

l-UJ — < l-UII-0-l/lUJOCC XwOHO. <OUII-l/1 O _l I- U.OCC SUO Q<OK<CeUJ Z>-" nZ 

CL Z CCl/lO mIK HZU OQ"30>-i ZUI C0»Z Uhu Ul >«h MZ03 "I I I-" 

U.l/1 — CM <CDUIUJ CLUI * UIUI l-l OUIO OX MI/10»IQUZI ' Ol- 3CCCCC0OI/11- int- <o 

OCC l/ll UIOCL>UIUJ l-(MUICL> QUlCCQ-i-i JH l/IZCCQl-OCOnt-— COO OOO. HUI Ul -10. 

UIO 1/)M mu < DWh ZOQ.I/13 UKUU X PJ«IZUIZ -QU. _iu. 

Z 0. • O — J jj 2 h- iil I- OX XOCCC1- -• CC3 ol Oi-h l-U. iO-OX 3 -I — _l O -QO o J 

CC >-*UI IIUJOCC I- l-h hkJL) OUJUIUJ no D. Q UKO <M UhS QU. 'JUUKVI < nX 

OCC_JUJ> l-l-CLUJUJini- CLUI II->CL Xii <UJO XO UJU1 UI<>-ii-i1-3i-iZ n_l II- 

U.OZ 0» 0-Xi-iZU. IOZ 0. O n _l 0.1 zcci/io~cci-zcc— coui>x scca O CC-I 0. 

HO I IS U.U.CCU1jS i-iO I— OIl/l i-i Z I— □ < <3 3 JaJ O <UJOi-iZOI-Z <t Ull-M << <|j. 

cc <o ooorc xo 3Zccocc xoouix a: zzz id i-kz imidd iuj >tt- >o ceo 

<inin<\l _l U.U1- CLUI ZOU.U.UI SmumI- OZ hh<K1DIiI iI/IZILUI/KZ «U I- CC IB 

_IU1ZXQUJ Zl- HID- O i-iCC CL I-ClU.3 OO X U«Ii15"Zm1J I/IO mZmUmIlO OX O — 

OI-O—UICO 3I>- Z < rsJU.UJ>- IDOl/lnZ Ul • <» i-iOQOIIUIOQNOICC "0- ZO UIUI 

Q.<|-| Z iniS_IQ+<CCLL < 1/1-JQ <U)ITOh ISZO ZUJCCUIUIKi-i D IiKhJmI- i-i< oin 

Zh»HO HZU UICC -i-iZuJ -I3UION Oul OUII-IOI-CCCLZ OC0 1^ ' D- UJ >-• CC 3UI < 

UJHU U.UJ UJUJOi-iUI->3 UOJOh U.OCLS< UJiiCC UJZ=» CD UU <<I 1/ICCi-iZO ZI/10.UI O UJC0 

xouiuiujz xx u ujcci/i rzi u. cc xkui x<cci>-iauj_iz <«tcc<uji-iuj _i _jo x 

►-CC3 Qi-i y- Q 11 II > Ul t-MOQ>-< <0. • • • h-<l- l-l-UJOl/lin33 • O 30. oz_j _ji- i-< 

OOII U. UIUJO Oinul OOUJQ O-hoj OZ 1/11/1i-i>-icCOIDUJQ-U1UJI/1CCO UJl/l<< O I- 

u_occ i/iuj i/ixino<\icocoi in<_iino in u. II II II i/ioui i/i>-icoi>ujcczi<cciujoccoi_iiz u_cc i/i< 

X- 1l/Q-J<3 ►-• H- 3SX40I— >-«U.03Z -• O ~) "> ~> >-«_l<J mq JJ-HL4I-J <kOilH-K4K/I O -»3 

S UJ" 

g c*i o I cc 

I -i3_IZ t-0.0- 

& 

Q. 

5 zzszzzsszzzzzszzzzzsszszzzszzszzzzzzzzzzzzzzzzzzzzzzzzzzzzs 

g UJlJULJUJUtjJlJlJlJUlJlULdliJULiJliJLiJliJlJULJUJlLlUUlJLUUJliJlilUUlJUJLiJljJUliJUULJLJLiJIiJliJliJliJLilLJULdLllLjlLjliJUJbJ 

ft ccccccccccczccccccccccccccccccccccccccccccccccccccccccccccccccccccccac^ccccccccccaccccccccccc&ccccccccc^ 

•s 

c 
o 
u 

-S olAoiAoiAoiootflouioiAoinotfiouioinomoiAouioiJioijiotfioiiioiriaifloiniOhtooiftoinoiAOinoiAQiAoifl 
£• N^-lDcO(^c^ooH-f(Ml\lrOlnd■d■lnln\D^DN^•cO(C(^c^oo-^H(M(\)lOlOd■^ullnlO^OhN^^^lacoc^(^ooHH{^]f^JJOKld■J 

■a io>oioi^K)io^^^^^^tftf^^^^^4'^d'^^^^inuiininininu)i/)ininu>tniAiAinininininioiAininvO>o<>u>\0«o^44>4 



104 lune 1979 © BYTE Publications Inc 




Of course 
our Floppys 
aren't cheap. 

Quality never is. 



It's no use trying to hide the fact: Maxell Floppy Disks 
give you the finest quality you can buy no matter how much 
you spend. And more and more of you are agreeing that 
your data is worth our perfection. 

Our floppys work better with your drive. 

Naturally, our floppys conform to ISO and IBM 
specifications. More important, they have also been approved 
by major OEMs, the people who recommend only those 
few floppys they are certain will work best with their 
hardware. So although we obviously don't know which 
drive system you are using, it makes no difference. Maxell 
Floppy Disks are so good they actually work better with 
any drive. 

What it all means for you. 

Yes, you can pay less for some other floppys. But lost 
data is a terrible price to pay when quality is what you want. 
And Maxell Floppy Disks help you profit in the very 
parameters you use this medium for: storing more data with 
virtually no down-time. 

The level of modulation uniformity in every Maxell 
floppy is vital to double density recording and readout. It 



means no peak shift, complete freedom from dropouts, total 
absence of particle orientation. Plus longer life, greater 
overall durability, and significantly less oxide build-up and 
head abrasion. 

So when you have to depend on full data retrieval, a 
few cents can make a big difference. Depend on Maxell 
Floppy Disks. They can really save you. 

Maxell offers the full range of Floppy Disks from 
standard 8-inch to 5 1 /4-inch plus Data Cassettes. 
Dealer inquiries invited. 




maxell. 

DATA PRODUCTS 

The Quality Alternative 

Maxell Corporation of America, Data Products Group 
60 Oxford Drive, Moonachie. NJ 07074 Tel. (201} 440-8020 



Circle 207 on inquiry card. 



BYlt lune 1979 



105 



U U. H- l/l 2 

D U O Q O 1-1 • o 

Q CC I U Z l/l I/) Z l/»M 

U SI- h- I— QrslUJ li. U 2 U.U10 liUh O 

ID U CC O Z Z m X l/> Oh- O O I- m OKOl- 

Zlkl CCS UJ U < _l I— • M <1 • i-i <(- <UJ 

Mhh- LlO I- IZ < l/l -22 I- -2U - Z ~3 l/l 

02 CC < U MlliU 2 M M O O H hi LJ M M O LJ 

Z Ll U U Ll (-• CC CL CC O I— O HQH LU CC Cl "3 CC C CC I- 

LJO U • ID Oi-i D Z I O < i-i CC I- ~> CC O CC CL <t 

CL O 2UJ Ct l/l U 2 I- 2 1- - O <-> O •■ O CC - O 2 

U l/l 1/1 U < l/l U_ < X 2 2 m U I— O LJ CC I- Od I— O I— i-i • 

□ uihki ecu »o u i- u u u o lu z o ~3 d. • zu z o Z QUI 

QUI 3 o 2 U X Z CC ") U O O U U U < CC U 

-DCLLU U * 1- 31-00 O Z CL CC U o Z CL > Z Q. I- Oh 

uku lu i-2 U- • I- 0. ac o<cl > r- o < m o<i/io< 

WSO H-O O Z> O r\l LJ l/l X O CL- CLE — m »o CL 2T I- ISh (_)Z 

Ll O CC _l Z O \CQI-0 O £ LU (VI I- SO SO i-i 

~ O Z U CL ZO S Z m Z O CL UOOU1>OOOOUU O U m CL C3 

m ox -• ji < 3D.HUJ < >inox-< uh on o I o < :c 

O U _J I- CD Q i-i H JIAirZ i-ivO I-I- ♦ CL I — Ln t- O £0 

=> 2 in U UJ h>-3U4 I- _IO l/l O _l Ct -J U O 

* JUIh M CC i-iX <-> CO l/l CC -J U C_>0<U-UUCClD<L|-U <Ll ac^> 

< > U U Z3 I- LU LU 0. 3 X 1UK HOD. U hOI Hi O _l < 

(\J > M M CO o l/l Ll_ K h-ILJOH- CL O l/l CL ♦ O Q<_ICL 

< i-i < o>- mm ikz in o < zee i o « z o <sxo< 

— U < 3 I- I- U CQ QLUILl CC ID CC CC U Q U CC CC U CC CC I- Cl Z 
X _l 2 Z S U LU X 2 O LJ O CL LJ l/l O m O XI 

N. hliJZ" i-i _3 l/l U I- I- U U D. • UU. IM " D UU.lL U LL Z U CC 

CC O O O « _JLJ I < X X Z QIUILL Xi-i i-<x< 

— LJ CL CL-i < I- I- I- U I- H- CC U U I- CC D — Hid HCO I- (E M I- _l 
(\l ISI U Z CL >< ON O 31/1 « CC QCQ <0 << 3 
□ O i-iIOLJ l/l * 2 U0:"Uli.lL o a-. 13 U _l I- \ O U _l £ LiJ_l H-O 

oo ji^hio >— • cm - lui-i 1/1 _i o o y- i- o sooi-o 1-02 cc z 

O f IOO < I-I— O I X XQ O CC C3 < DC O U O Z> T_ < ~ h031< X> CL < LJ< 

o J ro S Z < o h- O M I— :£0 0_d2a:*-.H"<l^Ct'*LDOCL — I < r- Ck Q_ :>!— 

in m * cc o u a in i- cc 00 in xirmr j in s u cc o h\0 suctn s u ct 20 

* < z 0CLO2 1- o Luom in u 00.00 z ll o >o o x o llo oxoa 010 O'juu 

ljz z z> _i < z <oz how ccoz+U-Cl lj mi— l_> h- ll * m z z i_> >- ll ui-ll u cc — — 

zxu lu 2 xz LU » l/) Z 

U ~ I I- X ~ I ZU I- U ID X Q O w 

X O h- M I— U U X t_> l_> vO X — I- LJ Ol/I 

I- — o I mh ^ 1- * 

Z-l-i — ssss iesssss:!- +esssss;iio ss SSS* SS S£S* sss ss*» 

mCL^MCJLJLULULUNI LULULJUULU I ULULULJLULU ^+UU LU LU UJ LULUMLULULU LJLULUMLULJ 

sm lo— i^zctaccece voccctcccectce Nioacctcccececervji ccctNccccctLLOccct^ctctctLLoactctLLtxce-i-i 

^ ll 11^; M(j ^ ^:o o o cece 

II II II V A A II II A II O A II O II 

V II II II II II A II II A II V 1^ V l~- II II 

ZH- 1 — 1 — 1 M M MMZ 

QWftQuuuu Ju Moou ouo "3 cto -) cco cc x >- or 

Z) 1-1-3 

l-Hhl- I- I- Kl- l-l- I- I- I- K t- I— Q 

LL UJ LU aJ ' J Ll Ll IU U_ LU LL LU Ll UJ 1U Ll LU LL LJ O LL UJ O Lj U U LU Z 

-«_IC£_I_|!-«1-1_| H-._| M_|l-I_| _|i-i_l M JU 1-1 JU _l _I_ICCIJ 

>r> 0000000000000000000000000000000000000000000000000000000000 
CT»ooo(Mcj-^ocooc\j^fvDcooc\jj-vr)cooo.omoinoLnoLnoinooooooinoinoLnoooc\jd-. iO<do(\j j^ooooHiyKi 
lVlOJlnJ^lnl/^l^^o>i)l0^o^o^^^^^•tn(^oO'^r4(\l(\J'OfOJ^JlJ)Na)(^oo-^r^(\J(\)lOd■l^lJ^l/lJllJ^\0\D\D^DN(flc^oooo 
^^^^^^^jj^^^^^^^^^^^inininininininininininininLninsOvOvDvj3voo^vX)OsD^Ovj3^o^Ovi3vi)\D>j3vD\Of^f^ 



2 u cc • o cc 

t-l i— o o in LJ LJ 

2-l-2lLl-in \- Oi Q I- <_> LU 

ZO <£lfl OOULJ OO OJ- LUULU <ZI 

02 lljMH.iZJIX< 21 Z IIU U<l- 

<t IQ -H-hllJI- O I— I— UJ CCI- 

2 I— <LUi-icCt— <LHO l/)l— I— LDl/lO 

O M — CCUCL<>-iQ<IC3i-i|— 1-1 Q22 m(- 

i-iZCL 2LUQ.ZI- O ZULU U) C 1/1 IU 

i-ui umuccco<i/iu UO UtD <U<J« mml/II 

<X OMCCOCCIUID U 30 OZI- 

UI-2 ZOU— UO-Ih- 2 2- -l-LOU UCCI-CC 

Ou UOLl_I~LD U- Ui-i QUMLO U<ZDO 

-I-U CCOLLOUO>-Z)l/1 CCO I a. B Kl - Z HhZ 

Q3 U'i-icC—IOlOU U «ClU'H<ljOUi-i 

UUI- LLOa>-i-l>-UCtU LlLl II LL U '<U J hjllh 

Iccu Ll _lu_l>Xu LlO LlO UUEO - i/im I- 

I— U CO MZUh- ZHh O M l-l Z CCl/lt-li-iU_IU 

I- OMluhOh ll Q2 OZ <»UCLOOl/JIOl/l 

LL2U I K < < J J H < < l-J>XoyiMCC 

OU3 -ll-XULLUCC —In _|i-i 1/121— O UOI-CC 

U_l <M2UCCOQ.Uin <Q <Q Mi-i2*CCa22U 

u< zsu 19 i/iliH t z< 2< oh:im <cuoi- 

Ql/1> mX'jJlJUCNJJImcC i-i X <1_>U^ JIUlL 

3i-i Ol/ll-CQU3CC5:d-2Q QO UUmC0CLOXiI-<* 

i-i- _3HHi_jooz)m 3mm cccox— usoo 

i-iq.< I- .OhoiritM kh i-hw < Jh l/l I-h.ZI-< 

e><i m 1— >_illui-i-io i-ioj uzoz)xcl<2_i 



O 2 








< 






_J 


t— 1 






< 


Q 






-^ 


< 






'—i 


a: 






Q 








13 


in 






1- 


M 






i—i 


o 






LD O 






2 


o 






O 


• 






_J 


o 






u 


2 






T 


t— t 


O 




i— 


X 


m 


o 




1- 


o 


o 


U. 


>— 1 


* 


— ro 


1— 1 


3 




0. d- 



IPHH k M DH ISO LDO U_l2t-it_>CL<<»-iLL 

u 2_IQ_QI/)<ICCL/1SQ20 ZOZ XOOO SSS-O 

-JUU O UU<l-DZO« O'U l-CCCL*0 UCLU 

XM o -ILLCCCCI/lUl/lZZO-JO _IOI MZ UU1I/1 J J 

Ul-i-i o o OOU4>>-iUU I- UOOUCM Ii-i<o< 

I_l O OU— OU<L/12— • U2 U2 K HI < UIHIUZU 

l-X< ro S IliJ H IIAUIUIll IhO O Xi-i o 3hl-h I I- l/l n i/i 

•j 5: » #l— 301/11 ui-Ziil h in a o i— xi— o o lv*=i i-z ijr 

Oh-iCCt-12 _I2U20<1-1U I— OO O I— M o EUUD+ <CCU ILL 

ZXOCL LJ Z U-<LL03<UI-_IX Ll m a- — rO in L "A Q.J ~1 0CC02 LlIOU_<Ll 

<-3=2+X UM>OOl/l<_>2L/) — (-"-13CL3- i-i5 J- l_)LD_l< Ml-lLOUO 

t- vO X >0 ~2 2 — 12 M 

O 2^ I- ^ <H UI2 U MU Z — ~ h.q_^ 

_J _l X IU Q O X C0<tXQUQQ CLrvJ 

K1+ I — I- < I 'I- I- I — — — * Q 

zzssiis: io ssiszszszss^-Oi?: -hzi/i xzii i i-zin sszzz — s: 2: z s: 2 s 

UUUU I—* ^tHUUUUUUUUUUCOUU l/l —lO UU mO UUUUi-iMCJUUUUUU 

cc^cea:_i _io _iccccot:ccccccq:cccccc<cC3:i-co l/io <iooccccmnm o>oro i/ioocccccccci/i<zcccccccccccc 

lion <S N2<:o iiiNOSiiE O Ll 

II A 11 * V H II A II II II O — f\J II II O II II 

in 11 a 11 a 11 in 1/1 11 a 11 j- 11 11 a in 11 

W .H M — 1 M MM— 1C\J CO MAJ MC\J 

_l_l_IO_l_l CO CQOQQOUCLOO <QOOOQUU3QQO ClQQ 

I— I- I- I— 

l-l- I- I- I— I — 1—1— I— I — I — t — t — I — I — hhl- 

ULlUOLlU U LlULlUUULlUO LlULlUOUoJLlUUO uuu 

_|M_|OM_| _l H JHJ J JH JIS MJMJ15JJHJJ15 | I | 

00000000000000000 cDooooud-inomomoinoinh-cooooooooomomoinoinomoLnomoino 
oooinooQoooomoinoinoinomooooM— *ojc\iiOf03-j-4td-in\or-coo^cDinoo»HMc\jc\jfOroinm\Ovj3r-r-cococr i 

rtiinjljjMOtroHiMmioroiiLn^Jl^ooooQQoooooaooooooo^^ftiftiojiMiMftiftinjiiKMWftKM^nimiM 

<M(>jrvlcgc^c\J(\ICvJ>O^'Oi0rOl0l0r0r0'OlOl0******^**^**J*c<-*J**^****d-J'**d-*a-a-3'ja-d-** 



106 lune 1979 © BYTE Publications Inc 



THE SEARCH FOR A 
SMALL COMPUTER SYSTEM 

STARTS HERE 




It's the 3rd Annual 

National Small Computer Show, 

presenting the state-of-the-art showcase for micro- 
and mini-systems technology and software. Here 
you can survey virtually all makes and models of 
small computers, whether your interest runs to a 
no-nonsense micro priced in the hundreds of 
dollars or a powerful mini costing $20,000 or more. 
They're all here. 

The world of small computers is quite large, ex- 
tending to business and professional offices, 
scientific research, medicine and bionics, educa- 
tion, the home and hobbyist, therapeutic applica- 
tions for the handicapped, design and engineering. 



A full selection of lectures is presented to provide a 
grasp of small systems technology, so that you 
know what to consider when buying a computer or 
word processor. It's the first step in discovering what 
a system can really do for you! 

NSCS lectures include sessions on system selection, 
computer languages, word processing functions, 
artificial intelligence, software applications, and a 
dozen more topics for people of all interests. 

Plan now to attend. There will be about 30,000 
square feet of exhibits, and more than 40 hours of 
lectures from which to choose. Registration fee is 
only $5.00 per day, including lectures. 



Write for our informational brochure from National Small Computer Show, 
110 Charlotte Place, Englewood Cliffs, N.J. 07632. 



THIRD ANNUAL NATIONAL SMALL COMPUTER SHOW, 
New York Coliseum, August 23-26, 1979. 




Circle 258 on inquiry card. 



BYTE lune 1979 



107 




VIEHEO FROM INFINITY. OVER 32M8S 105i56E. FACING DEG AZIMUTH 
PERSPECTIVE PROJECTION PREPRREO ST MILLIRX 0. JOHNSTON 



Figure 1 : A view of the Earth as seen from a point over the southeastern 
Indian Ocean. 



Text continued from page 102: 
is called. It returns the rectangular (X,Y) 
map coordinates (in inches or centimeters) 
corresponding to that point for the selected 
projection. The units (inches or centimeters) 
in which the computerist initially specifies 
the radius of the finished map automatically 
determine the units of the map coordinates. 
All constants, such as n and 0, have been 
given variable names because most BASIC 
interpreters can operate faster on variables 
than on numeric constants. 

Remember that all angular parameters 
are in radians. The program uses spherical 
trigonometry to arrive at the solution, 
and some tests have been included to pre- 
vent the trigonometric functions from 
"blowing up" when the map center and 
the distant point both lie on the same 
meridian. 

The trigonometric functions can also 
blow up if you attempt to generate an 
azimuthal equidistant map centered on 
either of the two poles (ie: a polar equi- 
distant map). This can be avoided by simply 
specifying the latitude of the map center 
as slightly less than 90° (perhaps 89.99°). 



The exact maximum value that can be 
used will depend upon the precision of 
your trigonometric routines, but, in any case, 
you won't be able to see the difference on 
the finished maps. Incidentally, the longi- 
tude that you specify for this kind of map 
will determine its orientation. This capa- 
bility was not available with the simplified 
polar equidistant map program presented 
in part 1 . 

For all other types of maps, an option 
(I) has been included in the program to 
permit the user to specify the azimuth 
that the observer in space is facing (ie: 
to specify the orientation of the map). While 
this option has little value for a printed 
map (which the user can turn in any direc- 
tion), it comes in handy on a video display 
which is simulating the view from a window 
of a maneuvering spacecraft. 

Within the limits of resolution of any 
map that you produce, you can assume, 
for perspective projections, that if the 
observer is beyond 10,000,000 km above 
the Earth, the distance is infinite. If you 
wish to generate an orthographic map, 
simply assume a height of 10,000,000 km 
for the observer, and there will be no detect- 
able difference between the resulting map 
and a truly orthographic map. 

Grid lines generally enhance the appear- 
ance of perspective maps. These can be 
included by generating the geographic coor- 
dinates within loops in your main (driver) 
program, then calling the subroutine to 
obtain the map coordinates. Keep the 
number of generated points down to the 
minimum required to obtain the desired 
resolution, as it is not difficult to expend 
more processor time creating the grid 
than creating the map. 

Having covered the major operational 
features of the program (additional details 
are contained in the remarks within the 
listing), let us now look at some specific 
examples. All of the maps illustrated here 
were generated using the subroutine given 
in listing 1. Each map was created for a 
specific purpose and should give you some 
ideas as to the applications of this program 
to your own system. 

Perspective Maps 

Figure 1 provides a good example of 
what this program can do. Here, the point 
of projection has been placed at infinity, over 
a point in the southeastern Indian Ocean. 
This gives us an excellent view of Austral- 
asia, as well as Antarctica. You can create 
a similar view of any part of the Earth by 
simply providing the coordinates of the 
central point. Orthographic perspective 



108 



June 1979 © BYTE Publications Inc 



SYNCHRO-SOUND 



The ORIGINAL Computer People Who KNOW computers 
ind offer EVERYTHING you need in Small Computer Systems 




Compare PRICE, QUALITY, DELIVERY, SERVICE and 
ou'll see why you don't have to look anyplace else! 




SB**! 8 



SOFTWARE 



f Here are nine packages tha 
enable you to make full use 
the potential in your small 
computer system: 

ACCOUNTS RECEIVABLE 

INVENTORY 

ORDER ENTRY 

WORD PROCESSING 

PAYROLL 

REAL ESTATE MGT 

MEDICAL-DENTAL 

MAILING PROGRAM 

SHIPPING & RECEIVING 

and MORE! 

Microsoft Basic, Fortran, Cobol 

available 

for prices 





MORE SPECIALS 



Decwriterll $1595.00 

Qume Sprint 5/45 

RO 2795.00 

Persci 277 Dble 

Density 1395.00 

lmsaiPCS80/15 599.00 

Anadex DP 8000 

Printer 995.00 



44 Column Printer . . 

Livermore Accoustic 

Coupler 249.00 

Javelin 9" Monitor 159.95 

Centronics 

Micro P-1 Printer . 



«JU Our Prices are too low to advertise. Please call or write 
We now carry a full line of 



We have a full staff of Programmers and Computer 
Consultants to design, configure and deliver a Turnkey 
Computer System to meet your specific requirements. 




SYNCHRO-SOUND 

The Computer People 

193-25 Jamaica Avenue, Jamaica, New York 11423 

212/468-7067 TWX 710-582-5886 



ENTERPRISES, INC. 



Hours 9-4 Daily 
and Saturday 

Visit our new showroom 
Working units on display 

BankAmericard Master Charge 



Circle 355 on inquiry card. 



BYTE Iune1979 



ill /MS II \1'\ \ \ \ \*f\ 

fi 1 1 <y\ // / -*i«\. \ \ \ \ \h\ 






^-^»~- 








~ .5? 


"=■'••.. 1 






























\ 










V 













































VIEWED FROM 3S862 KM OVER OiOON 7S:O0W. FACING OEG RZIMUTH 

PERSPECTIVE PROJECTION PREPRREO «Y WILLIAM 0. JOHNSTON 




VIEWED FROM 35862 KM OVER OiOON 135:0OH. FACING DEG RZIMUTH 
PERSPECTIVE PROJECTION PREPARED ST HILUflH 0. JOHNSTON 



Figure 2: The Earth as seen by a geosyn- 
chronous weather satellite. Figure 2a is a 
view from GOES-2 and figure 2b is from 
GOES-3. Compare these maps to the 
weather photographs shown on evening tele- 
vision newscasts. 



projections, such as this one, find widespread 
use in scientific applications and are also 
quite attractive when used in games. 

Anyone who watches television weather 
reports regularly should recognize the maps 
in figures 2a and 2b. These are the views 
seen by the two primary United States 
geosynchronous weather satellites, GOES-2 
and GOES-3. (Note that these are not 
orthographic projections; the field of view 
extends only about 80° from the central 
point). Sequences of pictures from these 
satellites are frequently made into film 
loops and shown as a sort of jerky motion 
picture. Although the photographs you 
see on television usually have outline maps 
drawn on them, the original pictures trans- 
mitted by the satellites do not. 

A number of enterprising amateur radio 
operators and experimenters around the 
world have built equipment to receive the 
signals directly from the satellites and 
print out up-to-the-minute weather pictures 
in their own homes. Through the use of 
the perspective projection program, one can 
generate map overlays in the same scale as 
the received pictures. This is particularly 
easy if the weather pictures are being dis- 
played on a video screen where the map 
can be overlaid electronically. 

The same principle is applicable to 
pictures received from some of the lower 
altitude polar orbiting weather satellites. 
Many of the early US APT (automatic 
picture transmission) satellites, such as 
those in the ESSA series, used a "snapshot" 
technique to record the images. The satel- 
lite would snap a photograph and transmit 
it in its entirety before snapping another 
one. By entering into the computer the 
altitude of the satellite and the coordinates 
of its subpoint, one could generate a map 
overlay to fit the photograph snapped 
by the satellite at that particular point. 

When the next picture was snapped a 
few minutes later, the satellite would have 
traveled several hundred miles, but by 
entering the new coordinates a correct 
map overlay would be created for each 
picture. In actual practice, a tracking sub- 
routine is usually incorporated to compute 
the coordinates of the satellite subpoint. 
(As exotic as this sounds, it requires only 
a few simple calculations.) 



110 



June 1979 © BYTE Publications In 




32K Board Pictured Above 



New RAM Prices. 

From The Dynamic Memory Company. 



16K— $249 
48K— $500 



32K— $375 
64K— $625 



Ever since we started making 
these memory boards over a year 
ago we have continued to lower 
our prices to stay competitive. 
Due to your confidence in us, we 
are again able to lower our 
prices! Our reliability has been 
proven by months of superior 
performance in thousands of 
installations. Our low-power boards 
are being used by quality-minded 
systems manufacturers across the 
country and overseas. 

4MHz boards now available. 

After receiving hundreds of 
requests, our engineering staff has 
come up with a new version of our 
board which runs on 4MHz Z-80 
systems. It wasn't easy to come 
up with a high speed board which 
would operate as reliably as our 
450ns version, but after months of 
careful design and testing, we did 
it. The price of the 250ns board is 
$10 per 16K additional. 
Circle 45 on inquiry card. 



All of our features remain. 

Our boards didn't become great 
sellers only because of the price. 
We still offer you our deselect 
feature which allows our RAM to 
overlap with any fixed memory 
areas in your system. Also, the 
RAM area of our board is fully 
socketed so that you can expand 
the board yourself. 

Other standard features include: 
plug selectable addressing on 1 6K 
boundaries (shorting plugs are 
placed over wire-wrap pins to 
address the board — located on 
the top of the board for easy 
changes), S-100 and Z-80 
compatability and totally invisible 
refresh — no wait states. 

Fully assembled, tested, and 
guaranteed. 

All of our boards go through a 
rigorous testing procedure. They 
are then placed on burn-in running 
a series of memory tests to detect 
any other possible faults. After you 
receive the board, you are backed 
by us with a one year warrantee. 



Low power consumption keeps 
your computer from "losing its 
cool." 

The total power consumption of 
our 1 6K board is typically less 
than 4 watts ( + 8V @ 300ma, 
+ 1 6V @ 1 50ma and - 1 6V @ 
20ma). Boards with additional 
memory typically increase power 
consumption only 1 watt per 1 6K! 

Standard S-100 Interface. 

Our board is designed to 
interface with any standard S-1 00 
CPU. All of the timing of the board 
is independent of the processor 
chip, and the board is set up for 
different processors by changing 
two plugs on the board. 

Contact your local dealer. 

To find out more about our RAM 
boards, contact your local dealer. 
If he is unable to help you, call or 
write us for a fast response. 
Central Data Corporation, 1 207 
North Hagan Street, Champaign, IL 
61820. (217) 359-8010 

Central Data 



BYTE |une 1979 



111 




VIEWED FROM 1453 KM OVER 33:45N 84:24H. FPCING DEC AZIMUTH 
PERSPECTIVE PROJECTION PREPARED BY HILLIflH D. JOHNSTON 




VIEWED FROM 1453 KM OVER 33:45N 84i24W. FRCING DEG RZIMUTH 
MODIFIED PERSPECTIVE PROJECTION PREPARED BY HILLIRN 0- JOHNSTON 



Figure 3: Here the Earth is shown exactly as 
it appears to the Oscar 7 amateur radio com- 
munications satellite as it passes over A tlanta 
GA. Compare this map to that in figure 4. 



The newer US polar orbiting weather 
satellites, such as TIROS-N, use a slightly 
different transmission system which greatly 
improves the picture quality, the ease of 
reception, and the amount of data received. 
It makes the generation of map overlays 
more difficult, however, and the program 
presented here cannot be used. (Once you 
are familiar with the transmission system, it 
is not difficult to develop a program to do 
the job.) There are a few satellites, including 
some of the Soviet Meteor series spacecraft, 
that still use the older system, but their 
picture quality is relatively poor and hardly 
worth the effort to obtain them. 

Figure 3 represents the scene below the 
Oscar 7 amateur radio communications 
relay satellite as it passes over Atlanta GA. 
Anyone engaged in satellite communications 
would do well to have available the capa- 
bility for such a display. Updated in real 
time, it provides a continuous panorama of 
the area visible from the satellite and, hence, 
the area with which communications 
through the satellite are possible at any 
particular time. Any two or more stations 
can talk to one another as long as they are 
located within the mapped area. As the 
satellite moves in its orbit, the mapped area 
changes, but as long as your own location is 
within the map you can talk to all other 
points on the map. 

Modified Perspective Maps 

We have also come upon the ideal occa- 
sion to make use of the modified perspec- 
tive projection. Figure 4 illustrates the 
same area as that of figure 3, but the modi- 
fied projection has been used to reduce some 
of the distortion inherent in the pure per- 
spective version. Note the differences 
between the figures, especially in the west 
coast areas of the US, the northern coast 
of South America, and the upper reaches 



Figure 4: This is the same view as that in 
figure 3, but here we have used the modified 
perspective projection to reduce some of 
the distortion. Compare the west coast of 
the United States, the northern coast of 
South America, and the upper reaches of 
Hudson Bay. Remember that both maps 
cover the same area. 



112 



June 1979 © BYTE Publications Inc 




•**? 



«H 



A DEVELOPMENT TOOL FOR 
INTERACTIVE SOFTWARE 



CIS COBOL is more than an efficient COBOL Compiler, it is a complete 
software development tool for business and office automation systems. 

It enables the programmer to write applications in a powerful subset of 
ANSI 74 standard COBOL and to take advantage of CIS COBOL language 
extensions such as interactive screen handling which are designed to fully 
exploit the special features of the microcomputer environment. Version 3 of 
CIS COBOL has many language additions but the compiler still requires only 
20K bytes of memory and runs on 8080 and Z80 based microcomputers 
with 32K to 64K under the popular CP/M* operating system. 




Circle 221 on inquiry card. 



CIS COBOL is designed to support interactive applications. Areas oi 
a CRT screen are mapped onto record descriptions in your CIS COBOL 
program and data is transferred using the ACCEPT and DISPLAY verbs 
providing full cursor manipulation and data entry facilities to the CRT 
operator. CIS COBOL language extensions enable the screen position 
at which the transfer is to start to be specified, protected fields to be 
defined and the CURSOR position to be detected and set by the program. 

CIS COBOL is able to exploit features of the microcomputer. Language 
extensions in CIS COBOL enable programs to define file names at run time, 
to read and write text files of variable record length and to access free 
memory in varying machine configurations. CIS COBOL supports run time 
subroutines written in assembler and accessed from COBOL by means of 
the CALL USING verb. Built in subroutines implement facilities to CHAIN 
programs together, PEEK and POKE memory locations outside your COBOL 
program and GET and PUT data to special peripheral devices via your 
microcomputer's I/O ports. 

CIS COBOL is orientated toward rapid program development. The 

compiler accepts input of your source program direct from keyboard as 
well as from source and library files on disk and generates an object file 
which the CIS COBOL run time system immediately loads and executes or 
optionally links and saves as a self loading program. The run time system 
has built-in indexed and relative I/O packages and contains an interactive 
debug package to help find errors quickly by stepping through the execution 
of your CIS COBOL program. 

CIS COBOL is supported by intelligent utility programs. When you take 
delivery of CIS COBOL Version 3 on 8 inch or 5 inch diskette you will 
receive in addition to the compiler and run time system the CONFIG 
program which enables you to configure CIS COBOL run time systems to 
drive many different types of "dumb" CRT terminal such as Lear Siegler 
ADM3A and Hazeltine 1500, plus the time saving FORMS program which 
allows you to create and edit screen images of business forms and then 
automatically generate the corresponding COBOL record descriptions to 
COPY into your CIS COBOL program. 



MICRO FOCUS 

MICRO FOCUS LTD. 58 Acacia Rd, St. Johns Wood, London NW8 6AG 
Telephone: 01-722 8843 Telex: 28536 MICROF G 
'CP/M is a trademark of Digital Research 

BYTE lune 1979 113 




VIEWED FROM 250 KM OVER 42iS3N 71 «S7H . FBCINO DEG AZIMUTH 
PERSPECTIVE PROJECTION MEPRREO if UILL 1HH 0. JOHNSTON 




VIEWED FROM 500 KM OVER 42i53N 71iS7W, FRCINO DEO RZIMUTH 
PERSPECTIVE PROJECTION PREPflREO IV MILLION 0- JOHNSTON 



Figure 5: This is a sequence of views of the 
Earth as one would see it out the window 
of a spacecraft taking off from Peterborough 
NH. The final two views are orthographic, 
with the last of these illustrating the view 
after the spacecraft has made a 45 ' turn to 
the right. (Figures 5c, 5d, 5e and 5f are 
shown on pages 118 and 1 19.) 



of Hudson Bay. While figure 3 reproduces 
the scene as it appears visually, figure 4 
shows more clearly all of the areas with 
which communications can be established 
when the satellite is at the given point. 

Incidentally, all of the Oscar satellites 
are at altitudes comparable to those of the 
various polar orbiting weather satellites. 
Indeed, they are launched on the same 
rockets. The Oscars take the place of other- 
wise useless ballast and are ejected a few 
minutes before or after the weather birds. 
Consequently, the pictures transmitted from 
this type of weather satellite, especially 
the earlier versions, are views similar to 
that shown in figure 3. 

Maps for Space Games 

Let us now take a look at some maps 
that will be of special interest to space 
game fans. Figures 5a through 5f comprise 
a sequence of views of the Earth as seen 
from the window of a spacecraft taking 
off from Peterborough NH (where BYTE 
Publications is located). The particular 
altitudes used in generating these figures 
were chosen arbitrarily, but they could just 
as well be inputfrom the game program itself. 
A fairly large altitude change is required 
to get a significant change of scenery (assum- 
ing no lateral movement). Therefore, it is 
not necessary to update the display very 
often if the spacecraft is ascending or 
descending vertically. Whenever the craft 
is moving laterally, however, you will want 
to change the display more often. 

The final two views in the sequence of 
figure 5 are orthographic; that is, the point of 
projection is at infinity. Although this is 
not truly realistic in terms of what space 
travelers see as they recede from the Earth, 
it is typical of the display that the ship's 
navigator might have on his video console, 
regardless of altitude. (Of course, the navi- 
gator would want to have a map display of 
an area considerably larger than what could 
be seen out the window.) 

The last view of the sequence shows the 

orientation after the spacecraft has made a 

45° turn to the right (assuming the observer 

Text continued on page 122 



114 



June 1979 © BYTE Publications Inc 




COmPUTER SOFWfiRE 

For Homeowners, Businessmen, Engineers, Hobbyists, Doctors, Lawyers, Men and Women 



We have been in business for over nine years building a reputa- 
tion for providing a quality product at nominal prices - NOT 
what the traffic will bear. Our software is: 

• Versatile - as most programs allow for multiple modes of 
operation. 

• Tutorial - as each program is self prompting and leads you 
through the program (most have very detailed instructions 
contained right in their source code). 

• Comprehensive - as an example our PSD program not only 
computes Power Spectral Densities but also includes FFT's, 
Inverse-transforms, Windowing, Sliding Windows, simulta- 
neous FFT's variable data sizes, etc, and as a last word our 
software is: 

• Readable - as all of our programs are reproduced full size 
for ease in reading. 



• Virtually Machine Independent — these programs are writ- 
ten in a subset of Dartmouth Basic but are not oriented for any 
one particular system. Just in case your Basic might not use 
one of our functions we have included an appendix in Vol- 
ume V which gives conversion algorithms for 19 different 
Basic's; thafs right, just look It up and make the substitution for 
your particular version. If you would like to convert your 
favorite program into Fortran or APL or any other language, 
the appendix in Volume II will define the statements and their 
parameters as used in our programs. 
Over 85% of our programs In the first five volumes will execute in 
most 8K Basic's with 16K of free user RAM. If you only have 4K 
Basic, because of its lack of string functions only about 60% of 
our programs in Volumes I through V would be useable, how- 
ever they should execute In only 8K of user RAM. 
For those that have specific needs, we can tailor any of our 
programs for you or we can write one to fit your specific needs. 



Vol. 



Vol. II 



Vol. Ill 



Business & 


Games & 


Binomial 


Beam 


Billing 


Personal 


Pictures 


Chl-Sq. 


Conv 


Inventory 


Bookkeeping 




Coed 


Filter 


Payroll 


Programs 




Confidence 1 


Fit 


Risk 




Astronaut 


Confidence 2 


Integration 1 


Schedule 2 


Building 


Bagel 
Bio Cycle 


Correlations 
Curve 


Integration 2 


Shipping 


Compound 


Cannons 


Differences 


Lola 


Switch 


Cyclic 


Checkers 


Dual Plot 






Decision 1 


Craps 


Exp-Dlsfrl 


Max. Mln. 




Decision 2 

Depreciation 

Efficient 


Dogfight 

Gofl 

Judy 


Least Squares 

Paired 

Plot 


Navaid 
Optical 




Flow 


Line Up 


Plofpts 


PSD 




Installment 


Pony 


Polynomial Fit 


Randl 




Interest 


Roulette 


Regression 

StaTl 






Investments 


Sky Diver 






Mortgage 
Optimize 


Tank 
Teach Me 


Stat 2 
T-Dlstrlbutlon 


Sphere Wan 
Stars 




Order 
Pert Tree 
Rate 
Return 1 
Return 2 


Pictures 
A. Newman 
J.EK. 
Linus 


Unpaired 
Variance 1 
Variance 2 
XY 


Track 
Triangle 
Variable 
Vector 




Schedule 1 


Ms. Santa 


APPENDIX A 







Vol. IV 

Bingo 

Bonds 

Bull 

Enterprise 

Football 

Funds! 

Funds 2 

Go-Moku 

Jack 

Life 

Loans 

Mazes 

Poker 

Popul 

Profits 

Qublc 

Rates 

Retire 

Savings 

SBA 

Tlc-Tac-Toe 



Nixon 
Noel Noel 
Nude 
Peace 
Policeman 
Santa's Sleigh 
Snoopy 
Virgin 



Vol.V 

Andy Cap 

Baseball 

Compare 

ConfldtO 

Descrip 

Differ 

Engine 

Fourier 

Horse 

Integers 

Logic 

Playboy 

Primes 

Probal 

Quadrac 

Red Baron 

Regression 2 

Road Runner 

Roulette 

Santa 

Stat 10 

Staff! 

Steel 

Top 

Vary 

Xmas 

APPENDIX B 



Vol. VI 
Ledger 

Vol. VII 
Chess 



Maintains Company accounts and generates 
financial reports. Includes routines for Pyri. Inv. 
Dept; A/R, A/R 



Designed to challenge the average player, 
fairly comprehensive. Great fun for all, otters a 
unique opportunity for beginners In need of an 
opponent. 

Medbll For Doctors and Dentists alike, a complete 
patient billing system which also permits the 
maintaining of a patient history record. 

Wdproc Wordprocesslng for lawyers, publishers, writers, 
etc. Wtte, store, and change from rough draft 
to Itnal copy in a variety of formats. 

Utility Disk utility program with memory testing. 

Vol. VIII 

1040-Tax Taxpayers return, Itemized deductions or 
standard 

Balance Reconciles bank statements 

Checkbook Balances your checkbook 

Inst 1 o 78 Computes real cost on bank financed Hems; 
cars, boats, etc. 

Deprec 2 Computes depreciation, 4 methods, any time 
period 

APPENDIX C - FAVORITE PROGRAM CONVERSIONS 



Vol. I - $24.95 
Bookkeeping 
Games 
Pictures 



Vol. II - $24.95 
Math/Engineering 
Plotting/Statistics 
Basic Statement Def. 



Vol. Ill - $39.95 
Advanced Business 
Billing, Inventory 
Investments 
Payroll 



Vol. IV -$9.95 
General Purpose 



Vol.V -$9.95 
Experimenter's Program 



Vol. VI - $49.95 
Mini-Ledger 



Vol. VII - $39.95 

Professional 

Programs 



Vol. VIII - $19.95 

Homeowner's 

Programs 



AVAILABLE AT MOST COMPUTER STORES 

Master Charge and Bank Americard accepted. 

Our Software Is copyrighted and may not be reproduced or sold. 



Add $1.50 per volume handling, all domestic shipments sent U.PS. except APO 
and PO. Box which go parcel post. Foreign orders add $8.00/volume for air 
shipment and make payable In U.S. dollars only 



© SCIENTIFIC RESEARCH 

^^^ RO. Box 490099-B Key Biscayne, FL 33149 

Phone orders call 800-327-6543 Information - (305) 361-1153 



BYTL lune l<J7'l 



115 



For your SWTP 6800 Computer . . . 

PERCOM's 
FLOPPY DISK SYSTEM 

the 




( — \ 

1 
b A 



Ready to plug in and run the moment you receive 
it. Nothing else to buy, no extra memory. No 
"booting" with PerCom MINIDOS-PLUSX™, the 
remarkable disk operating system on EPROM. 
Expandable to either two or three drives. 
Outstanding operating, utility and application 
programs. 




fully assembled and tested 
shipping paid 




PERCOM DATA COMPANY, INC. 

Dept. B 21 1 N. Kirby Garland, TX 75042 
(214)272-3421 



For the low $599.95 price, you not only get the disk drive, drive power 
supply, SS-50 bus controller/interface card, and MINIDOS-PLUSX™, 
you also receive: 

• an attractive metal enclosure • a fully assembled and tested inter- 
connecting cable • a 70-page instruction manual that includes operat- 
ing instructions, schematics, service procedures and a complete list- 
ing of MINIDOS™ • technical memo updates — helpful hints which 
supplement the manual instructions • a 90-day limited warranty. 

SOFTWARE FOR THE LFD-400 SYSTEM 
Disk operating and file management systems 
INDEX™ The most advanced disk operating and file management 
system available for the 6800. INterrupt Driven Executive operating 
system features file-and-device-independent, queue-buffered 
character stream I/O. Linked-file disk architecture, with automatic file 
creation and allocation for ASCII and binary files, supports sequential 
and semi-random access disk files. Multi-level file name directory 
includes name, extension, version, protection and date. Requires 8K 

RAM at $A000. Diskette includes numerous utilities $99.95 

MINIDOS-PLUSX'"An easy-to-use DOS for the small computing sys- 
tem. Supports up to 31 named files. Available on ROM or diskette 
complete with source listing $39.95 

BASIC Interpreters and Compilers 
SUPER BASIC A 10K extended disk BASIC interpreter for the 6800. 
Faster than SWTP BASIC. Handles data files. Programs may be 

prepared using a text editor described below $49.95 

BASIC BANDAID™Turn SWTP 8K BASIC into a random access data 
file disk BASIC. Includes many speed improvements, and program 

disk CHAINing $1 7.95 

STRUBAL+™ A STRUctured BAsic Language compiler for the pro- 
fessional programmer. 14-digit floating point, strings, scientific func- 
tions, 2-dimensional arrays. Requires 20K RAM and Linkage Editor 
(see below). Use of the following text editors to prepare programs. 
Complete with RUN-TIME and FLOATING POINT packages $249.95 

Text Editors and Processors 
EDIT68 Hemenway Associates' powerful disk-based text editor. May 
be used to create programs and data files. Supports MACROS which 
perform complex, repetitive editing functions. Permits text files larger 
than available RAM to be created and edited $39.95 

TOUCHUP™ Modifies TSC's Text Editor and Text Processor for Per- 
Com disk operation. ROLL function permits text files larger than 
available RAM to be created and edited. Supplied on diskette com- 
plete with source listing $17.95 

Assemblers 
PerCom 6800 SYMBOLIC ASSEMBLER Specify assembly options 
at time of assembly with this symbolic assembler. Source listing on 

diskette $29.95 

MACRO-RELOCATING ASSEMBLER Hemenway Associates' 
assembler for the programming professional. Generates relocatable 
linking object code. Supports MACROS. Permits conditional 

assembly $79.95 

LINKAGE EDITOR — for STRUBAL+™ and the MACRO-Relocating 

assembler $49.95 

CROSS REFERENCE Utility program that produces a cross- 
reference listing of an input source listing file $29.95 

Business Applications 
GENERAL LEDGER SYSTEM Accommodates up to 250 accounts. 
Financial information immediately available — no sorting required. 
Audit trail information permits tracking from GL record data back to 

source document. User defines account numbers $199.95 

FULL FUNCTION MAILING LIST 700 addresses perdiskette. Power- 
ful search, sort, create and update capability $99.95 

PERCOM FINDER™ General purpose information retrieval system 
and data base manager $99.95 

tm trademark of PERCOM Data Company. Inc. 

Ordering information 

To order, call toll free 1-800-527-1592. MC and VISA welcome. COD 
orders require 30% deposit plus 5% handling charge. Allow three 
weeks for delivery. Allow three extra weeks if payment is by personal 
check. Texas residents add 5% sales tax. 



PERCOM 'peripherals for personal computing' 



J 



116 



Circle 301 on inquiry card. 




Low Cost Add-On Storage for Your TRS-80 

In the Size You Want. 



When you're ready for add-on disk storage, we're ready for you. 
Ready with six mini-disk storage systems — 102K bytes to 591 K bytes of 

additional on-line storage for your TRS-80*. 



• Choose either 40-track TFD-100™ drives 
or 77-track TFD-200™ drives. 

• One-, two- and three-drive systems im- 
mediately available. 

• Systems include Percom PATCH PAK 
#1™, on disk, at no extra charge. PATCH 
PAK #1™ de-glitches and upgrades 
TRSDOS for 40- and 77-track operation. 

• TFD-100™ drives accommodate "flippy 
disks." Store 205K bytes per mini-disk. 

• Low prices. A single-drive TFD-100™ 
costs just $399. Price includes PATCH 
PAK #1™ disk. 

• Enclosures are finished in system- 
compatible "Tandy-silver" enamel. 



Whether you need a single, 40- 
track TFD-1 00™ add-on or a three-drive 
add-on with 77-track TFD-200™s, you 
get more data storage for less money 
from Percom. 

Our TFD-100™ drive, for example, 
lets you store 102.4K bytes of data on 
one side of a disk — compared to 80K 
bytes on a TRS-80* mini-disk drive — 
and 1 02. 4K bytes on the other side, too. 
Something you can't do with a TRS-80* 
drive. That's almost 205K bytes per 
mini-disk. 

And the TFD-200™ drives provide 
197K bytes of on-line storage per drive 



— 1 97K, 394K and 591 K bytes for one-, 
two and three-drive systems. 

PATCH PAK #1™, our upgrade 
program for your TRSDOS*, not only 
extends TRSDOS* to accommodate 40- 
and 77-track drives, it enhances 
TRSDOS* in other ways as well. PATCH 
PAK #1 ™ is supplied with each drive 
system at no additional charge. 

The reason you get more for less 
from Percom is simple. Peripherals are 
not a sideline at Percom. Selling disk 
systems and other peripherals is our 
main business — the reason you get 
more engineering, more reliability and 
more back up support for less money. 



In the Product Development Queue ... a printer interface for using your TRS-80* with any 
serial printer, and . . . thef/ecfr/'c Crayon™ to map your computer memory onto your color TV 
screen — for games, animated shows, business displays, graphs, etc. Coming PDQ! 



™ TFD-100. TFD-200. PATCH PAK and Electric Crayon are trademarks of PERCOM DATA COMPANY. 

•TRS-80 and TRSDOS are trademarks ol Tandy Corporation and Radio Shack which have no relationship to PERCOM DATA COMPANY 




8 

PERCOM DATA COMPANY, 
DEPT. B • 211 N. KIRBY • GARLAND, TX. 



To order add-on mini-disk storage for your TRS-80", 
or request additional literature, call Percom's toll-free 
number: 1-800-527-1592. For detailed Technical infor- 
mation call (214) 272-3421. 

Orders may be paid by check or money order, or 
charged to Visa or Master Charge credit accounts. Texas 
residents must add 5% sales tax. 

Percom 'peripherals for personal computing' 



Circle 301 on inquiry card. 



Ii\ II liini' 1'I7') 



117 



Circle 83 on inquiry card. 

*P.E.T.*Food* 



DflV 


C 


AMOUNT M 


:th of pbv 


DESCRIPTION 


1 


ft 


3.33 


CASH 


PENNZOIL 


2 


z 


35.98 


MCHS 


CRITTERS 


3 


c 


288.11 


B OF ft 


WOOL SUIT 


4 


z 


1.29 


CftSH 


TOOTHBRUSH 


5 


E 


9.95 


CHKH181 


BOOK 


6 


F 


£8.47 


CASH 


2 WEEK'S FOOD 


7 


6 


13.44 


MCHS 


SIFT FOR WIFE 


8 


B 


316 


CHKttlBl 


MORTSftSE 


9 


I 


2.75 


CftSH 


PflV FOR 1 HOUR 


IB 


Z 


5.81 


CASH 


SUIT CLEANED 


To 


90 


on, press any key 





Household Finance Pant 1 



Vou spent the following amounts in each 
category for the months of:JflNUftRV FEBRU 
ARV 



CATEGORY 


AMOUNT 


CATEGORY 


AMOUNT 




AUTO 


19.46 


INCOME 


2.75 


1RTGE 


326.73 


TAXES 


a 


:lothes 


448.61 


MEDICAL 


218 


tNTRTAIN 


• 21.69 


INSUR 


281.55 


:duc 


342.96 


SAVINGS 


8 


"OOD 


229.78 


UTIL 


36.2; 


GIFTS 


13.44 


VACATION 


1823.41 


HOUSE 


533 


MISC 


78. i: 



ft*************************************** 

Total amount spent was 4350.99 

Total income was 2.75 

Do you want a spending profile for this 
penod?(V or N) 



Household Finance Part 2 

Part 1 inputs, lists, adds, 
updates, changes, 
and deletes items. 
Writes data to a 
cassette tape. 

Part E? reads data tape; 
gives single item, 
single month and 
year-to-date sums. 

Both parts S15.DO 

» Also Available « 
SPACE WAR.sio.oo 
Household Utility 1 

(3 Programs] ... $12.00 

Dual Joystick 
Interface 545.00 

SEAWOLF. ..S10.00 

BREAKOUT, .si 0.00 
LIFE sao.oo 

ORDERS: Send check, money order, 
or VISA/Mastercharge (include expi- 
ration date) and add $1.50 shipping. 
Calif, residents add 6% sales tax. 

INFORMATION: More information 
on these and many other currently 
available programs is available on a 
free flyer. Write directly to Creative 
Software. 

Creative Software 

P.O. BOX 4030, MOUNTAIN VIEW, CA 94040 
118 lune 1979 © BYTE Publications Inc 




VIEWED FROM 1000 KM OVER 42 i53N 7|t57H. FACING DEC AZIMUTH 

PERSPECTIVE PROJECTION PREPHREO Br MRLIRN 0. JOHNSTON 






VIEWED FROM 5000 KM OVER 42:53N 7l:57W. FACING DEC AZIMUTH 
PERSPECTIVE PROJECTION PREPHREO Br NILLIRH D. JOHNSTON 



Circle 382 on inquiry card. 




VIEWED FROM INFINITY. OVER 42:53N 71:S7H. FACING DEC AZIMUTH 

PERSPECTIVE PROJECTION PREPARED «T MULISH 0. JOHNSTON 




VIEHED FROM INFINITY. OVER 42i53N 71:57H. FACING 45 DEC RZIMUTH 

PERSPECTIVE PROJECTION PREPRREO BT HILLIRH D. JOHNSTON 



MORE 

BANG 

PER 

BUCK 



The PERKIN-ELMER BANTAM 

$799.00 

All the Features of the 
Hazeltine 1400 & LSI ADM-3A 
Plus 




Upper/Lower Case 
7 x 10 Char. Matrix 
White or Black Char. 
Transparent Mode 



Tab Function 
Backspace Key 
Shiftlock Key 
Print Key 

Integrated Numeric 
Pad 



vj>4 I .D I per month 

Lease-Purchase 



$1095.00 



TELETYPE 
MODEL 43 
KSR 




with RS232 
10 or 30 CHAR/SEC 

132 COLUMNS 
UPPER/LOWER CASE 




USR-310 

Originate 

Acoustic 

$149.00 Coupler 

0-300 Baud Stand Alone 

Crystal Controlled RS232 

USR-330 
Originate 
Auto- Answer 
$324.00 Modem 
FCC Certified for Direct Connection 
to Phone Lines 
USR-320 Auto-Answer 

Only Modem $299.00 




All Units include a 1 20 day warranty. 
Optional Maintenance package available. 



Any Product may be returned 
within 10 days for a full refund. 



U.S. RDBDTICS, INC. 

1035 W. LAKE ST. 

CHICAGO, ILL. 6D6D7 



Sales (312)733-0497 

General Offices (3 1 2) 733-0498 
Service (312)733-0499 



June 1979 © BYTE Publications Inc 



119 



Aw, cut it out! 




forma! 



DIGITAL RESEARCH 



Software j 

with /Manual 
Manual/ Alone 

□ CP/M* FDOS — Diskette Operating System complete with 
Text Editor, Assembler, Debugger, File Manager and system 
utilities. Available for wide variety of disk systems including 
North Star, Helios II, Micropolis, iCOM (all systems) and Altair. 
Supports computers such as Sorcerer, Horizon, Sol System III, 
Versatile. Altair 8800, COMPAL-80, DYNABYTE DB8/2, and 
iCOM Attache. Specify desired configuration $145/$25 

□ MAC — 8080 Macro Assembler. Full Intel macro definitions. 
Pseudo Ops include RPC, IRP, REPT, TITLE, PAGE, and 
MACLIB. Z-80 library included. Produces Intel absolute hex 
output plus symbols file for use by SID (see below) $1 00/S1 5 

□ SID — 8080 symbolic debugger. Full trace, pass count and 
break-point program testing system with back-trace and histo- 
gram utilities. When used with MAC, provides full symbolic 
display of memory labels and equated values $85/$15 

D TEX — Text formatter to create paginated, page-numbered 
and justified copy from source text files, directable to disk or 
printer $85/$1 5 

D DESPOOL — Program to permit simultaneous printing of 
data from disk while user executes another program from the 
console $50/$1 



MICROSOFT 



D 



□ 



L 



Disk Extended BASIC — New version, ANSI compatible 
with long variable names, WHILE/WEND, chaining, variable 
length file records $300 $25 

□ FORTRAN-80 — ANSI '66 (except for COMPLEX) plus 
many extensions. Includes relocatable object compiler, linking 
loader, library with manager. Also includes MACRO-80 (see 
below) $400/$25 

COBOL-80 — ANSI 74 Pseudo-compiler with relocatable 
object runtime package. Format same as FORTRAN-80 and 
MACRO-80 modules. Complete ISAM, interactive ACCEPT/ 
DISPLAY, COPY, EXTEND S625/S25 

□ MACRO-80 — 8080/Z80 Macro Assembler. Intel and Zilog 
mnemonics supported. Relocatable linkable output. Loader, 
Library Manager and Cross Reference List utilities included 

$149/$15 

□ MACRO-80 plus FORTRAN subroutine library available. Li- 
brary includes ABS, SIGN, EXP, DLOG, SORT, DSQRT, 
ATAN, DATAN etc. etc $219/$15 

D EDIT-80 — Very fast random access text editor for text with or 
without line numbers. Global and intra-line commands sup- 
ported. File compare utility included $89/$15 

XITAN (software requires Z-80 CPU) 

□ Disk BASIC — Fast powerful interactive interpreter. PRI- 
VACY password security. Can dynamically open a large 
number of files simultaneously for random or sequential I/O 

$1S9/$20 

U Z-TEL — Text editing language. Expression evaluation itera- 
tion and conditional branching ability. Registers available for 
text and commands. Macro command strings can be saved on 
disk for re-use $69/$20 

D ASM Macro Assembler — Mnemonics per Intel with Z-80 ex- 
tensions. Macro capabilities with absolute Intel hex or relocat- 
able linkable output modules $69/$20 

□ LINKER — Link-edits and loads ASM modules . . S69/S20 

D Z-BUG debugger — Trace, break-point tester. Supports dec- 
imal, octal and hex modes. Dissassembler to ASM mnemonic 
set. Emulation technique permits full tracing and break-point 
support through ROM $89/$20 

"CP/M is a trade name of Digital Research 





Software / 

with /Manual 
Manual/ Alone 
O TOP Text Output Processor — Creates page-numbered, jus- 
tified documents from source text files S69/S20 

□ Super BASIC — Sub-set of Xitan Disk BASIC with extensive 
arithmetic and string features but without random access data 
file support. Available optionally with features to support VDB 
Xitan video output board S99/S20 

□ A3 package includes Z-TEL, TOP, ASM and Super BASIC 

$249/$40 

□ A3+ package includes Disk BASIC, Z-TEL, TOP, ASM, 
Z-BUG and LINKER $409/$40 

MICROPRO 

□ Super Sort I — Sort, merge, extract utility as absolute 
executable program or linkable module in Microsoft format. 
Sorts fixed or variable records with data in binary, BCD, 
Packed Decimal, EBCDIC, ASCII, floating, fixed point, expo- 
nential, field justified, etc. etc. Even variable number of fields 
per record! S250 $25 

□ Super Sort II — Above available as absolute program only 

S200/S25 

□ Super Sort III — As II without SELECT/EXCLUDE 

$150/$25 

D Word Master Text Editor — In one mode has super-set of 
CP/M's ED commands including global searching and replac- 
ing, forward and backwards in file. In video mode, provides full 
screen editor for users with serial addressable-cursor terminal 
S150/S25 

D Corresponder — Mail list system, supporting form letter 
generation with personalized greetings. Reference fields per- 
mit sorting and extraction by name, address fields or reference 
data using Super Sort. Requires CBASIC $95 $25 

SOFTWARE SYSTEMS 

CBASIC-2 Disk Extended BASIC — Non-interactive BASIC 
with pseudo-code compiler and runtime interpreter. Supports 
full file control, chaining, integer and extended precision var- 
iables etc. Version 1 users can receive Version 2 and new 
manual for $45 with return of original diskette. Standard CP/M 
and TRS-80 CP/M versions available $90/S1 5 

STRUCTURED SYSTEMS GROUP 

LJ General Ledger — Interactive and flexible system providing 
proof and report outputs. Customization of COA created inter- 
actively. Multiple branch accounting centers. Extensive check- 
ing performed at data entry for proof, COA correctness etc. 
Journal entries may be batched prior to posting. Closing pro- 
cedure automatically backs up input files. All reports can be 
tailored as necessary. Requires CBASIC $899/$20 

□ Accounts Receivable — Open item system with output for 
internal aged reports and customer-oriented statement and bill- 
ing purposes. On-Line Enquiry permits information for Cus- 
tomer Service and Credit departments. Interface to General 
Ledger provided if both systems used. Requires CBASIC 

S699/S20 

□ Accounts Payable — Provides aged statements of ac- 
counts by vendor with check writing for selected invoices. Can 
be used alone or with General Ledger and/or with NAD. Re- 
quires CBASIC $699/$20 

D NAD Name and Address selection system — interactive mail 
list creation and maintenance program with output as full re- 
ports with reference data or restricted information for mail 
labels. Transfer system for extraction and transfer of selected 
records to create new files. Requires CBASIC $79/$20 

D QSORT — Fast sort/merge program for files with fixed record 
length, variable field length information. Up to five ascending or 
descending keys. Full back-up of input files created. Parameter 
file created, optionally with interactive program which requires 
CBASIC. Parameter file may be generated with CP/M assem- 
bler utility S95/S20 



120 



Software for most popular 8080/Z80 computer disk systems, including 
NORTH STAR, MICROPOLIS, iCOM, SD SYSTEMS, DYNABYTE DB8I2, 
HELIOS, ALTAIR, TRS-80, 8" IBM and OHIO SCIENTIFIC formats. 



□ 



□ 



□ 



□ 



□ 



Software j 

with /Manual 
Manual/ Alone 

GRAHAM-DORIAN SOFTWARE SYSTEMS 

□ PAYROLL SYSTEM — Maintains employee master file. 
Computes payroll withholding for FICA, Federal and State 
taxes. Prints payroll register, checks, quarterly reports and W-2 
forms. Can generate ad hoc reports and employee form letters 
with mail labels. Requires CBASIC. Supplied in source code. 

S605/S35 

□ APARTMENT MANAGEMENT SYSTEM — Financial 
management system for receipts, disbursements and security 
deposits of apartment projects. Captures data on vacancies, 
revenues, etc. for annual trend analysis. Daily report shows 
late rents, vacancy notices, vacancies, income lost through 
vacancies, etc. Requires CBASIC. Supplied in source code. 

$605/335 

□ INVENTORY SYSTEM — Captures stock levels, costs, 
sources, sales, ages, turnover, markup, etc. Transaction in- 
formation may be entered for reporting by salesman, type of 
sale, date of sale, etc. Reports available both for accounting 
and decision making. Requires CBASIC. Supplied in source 
code S605/S35 

OTHER 

□ Z80 Development Package — Consists of: (1) disk file 
line editor, with global inter and intra-line facilities; (2) Z80 
relocating assembler, Zilog/Mostek mnemonics, conditional 
assembly and cross reference table capabilities; (3) linking 
loader producing absolute Intel hex disk file for CP/M LOAD 
DDT or SID facilities. Standard CP/M and TRS-80 CP/M ver- 
sions available $95/$1 5 

□ TEXTWRITER II — Text formatter to justify and paginate 
letters and other documents. Special features include insertion 
of text during execution from other disk files or console, permit- 
ting recipe documents to be created from linked fragments on 
other files. Ideal for contracts, manuals, etc S75/S5 

□ DISINTEL — Disk based disassembler to Intel 8080 or TDU 
Xitan Z80 source code, listing and cross reference files. Intel or 
TDL/Xitan pseudo ops optional. Runs on 8080. Standard CP/M 
and TRS-80 CP/M versions available S65/S10 

□ DISZILOG — As DISINTEL to Zilog/Mostek mnemonic files. 
Runs on Z80 only. Standard CP/M and TRS-80 CP/M versions 
available S65/S10 

Frilitin. 

Lifeboat Associates, 2248 Broadway, New York, N.Y. 10024 (212) 580-0082 



Software 

with 

Manual 



Manual 
Alone 



WHATSIT? — Interactive data-base system using associa- 
tive tags to retrieve information by subject. Hashing and ran- 
dom access used for fast response. Requires CBASIC 
S125/S25 

XYBASIC Interactive Process Control BASIC — Full disk 
BASIC features plus uniaue commands to handle bytes, rotate 
and shift, and to test and set bits. Available in Integer, Ex- 
tended and ROMable versions. 

Integer Disk or Integer ROMable $295 $25 

Extended Disk or Extended ROMable $395/$25 

SMAL/SO Structured Macro Assembled Language — Pack- 
age of powerful general purpose text macro processor and 
SMAL structured language compiler. SMAL is an assembler 
language with IF-THEN-ELSE, LOOP-REPEAT-WHILE, DO- 
END, BEGIN-END constructs S75/S15 

Selector II — Data Base Processor to create and maintain 
single Key data bases. Prints formatted, sorted reports with 
numerical summaries. Available for Microsoft and CBASIC 
(state which). Supplied in source code S195/S20 

Selector III — Multi (i.e., up to 24) Key version of Selector II. 
Comes with applications programs including Sales Activity, In- 
ventory, Payables, Receivables, Check Register, Expenses, 
Appointments, and Client/Patient. Requires CBASIC Supplied 

in source code $295/$20 

Enhanced version for CBASIC-2 S345/S20 

□ CPM/374X Utility Package — has full range of functions 
to create or re-name an IBM 3741 volume, display directory 
information and edit the data set contents. Provides full file 
transfer facilities between 3741 volume data sets and CP/M 
files $195/$10 

D Flippy Disk Kit — Template and instructions to modify sin- 
gle sided SVa" diskettes for use of second side in singled sided 
drives $9.75 

□ BASIC Comparison — A comprehensive features and per- 
formance analysis of five 8080 disk BASIC languages — 
CBASIC. BASIC-E, XYBASIC, Microsoft Disk Extended 
BASIC, and Xitan's Disk BASIC. Itemizes results of 21 different 
benchmark tests for speed and accuracy and lists instructions 
and features of each BASIC (send 20* S.A.S.E.) FREE 

D TRS-80 FORTRAN PACKAGE - Professional disk- 
based language and utility package written by Microsoft, 
creators of Level II BASIC, the package runs on a TRS-80 
system with 32K RAM, one or more drives and TRSDOS. The 
software is supplied on diskettes and consists of a relocatable 
machine code FORTRAN Compiler, Macro Assembler, a Link- 
ing Loader. Subroutine Library, Text Editor $325 

Macro assembler, loader and editor alone $1 65 



1 



Software 


Price 


D manual alone 




□ manual alone 




□ Check □ U.P.S. COD □ Visa □ Master Charge 


Shipping 




Account # Exp. Date 


$1.00 tor C.O.D. 




Signature 


Total 




My computer configuration (specifying disk system): 


Name 


Address (No P.O. Box) 


City State 




Zip 




EFFECTIVE APRIL 15, 1979 



iiT/re Software Supermarket is a trademark ot Lifeboat Associates 



Disk systems and tor- 
mats: North Star single or 
double density, IBM 
single or 2DI256, Altair, 
Helios II. Micropolis Mod 
I or II, 5Vi" soft sector 
(Micro iCOMISD Salesl 
Dynabyte), etc 

Add $1 litem shipping ($2 
min.). Add $1 additional 
for UPS COD. 

Manual cost applicable 
against price ol subse- 
quent software pur- 
chase. 

The sale of each pro- 
prietary software pack- 
age conveys a license 
for use on one system 
only. 




Lifeboat Associates 

, THE 
SOFTWARE 
SUPER- 
MARKET 




HVTI luni' l')7'l 



121 




41 )58N I06.-47W 
bzihuthul equidistant projection prepared by mill iom o. johnston 



Figure 6: This azimuthal 
equidistant map is basi- 
cally the same as those 
illustrated in part J. We 
have added a grid of me- 
ridians and parallels to 
emphasize geographic dis- 
tribution. 



Text continued from page 7 14: 
was facing north to begin with). The pro- 
gram permits the view to be rotated by any 
amount and for any map, regardless of 
altitude. As mentioned earlier, this feature 
is particularly useful when the map is 
being generated on a video terminal. 



Azimuthal Equidistant Maps 

Figure 6 illustrates a map that is very 
similar to the azimuthal equidistant (great 
circle) maps shown in part 1. The primary 
difference is that we have added a grid of 
meridians and parallels to figure 6 to give 
more meaning to geographic distribution. 
This map projection is extremely useful 
when applied to such fields as navigation 
and radio communication, but you must 
not forget the inherent distortions. The 
grid system on this map helps dramatize 
where these distortions lie. 

Another azimuthal equidistant projec- 
tion is presented in figure 1 , but the cover- 
age is limited to 90° of arc (half that of the 
map in figure 6). This not only expands 
the scale of the map, but it eliminates the 
portion with the greatest distortion. The 
example is of an Oscar satellite communica- 
tions coverage map centered on a location 
near Geneva, Switzerland. By taking ad- 
vantage of the fact that radial distances 
(and, hence, arc distances) from the center 
are linear in this type of projection, it is a 
simple matter to draw a circle that will 
indicate the maximum possible communi- 
cation range through a given satellite. 
The central location (Geneva, in this case) 
can then communicate to any location 
within the circle, at some time or another, 
depending upon the satellite's position. 

The map, in this example, has been over- 
laid with three different circles to show 
the maximum range for all of the currently 
operational satellites (Oscar 7, Oscar 8, and 
RS:1— 2, starting with the inner circle 
and moving outward). Note the difference 




122 lune 1979 © BYTE Publications Inc 



Circle 33 on inquiry card. 



between this map and those in figures 3 
and 4. The map in figure 7 shows all loca- 
tions with which communication is possible, 
irrespective of satellite position, whereas 
the maps of figures 3 and 4 show where 
communication is possible at some particu- 
lar moment in time when the satellite is 
over a given point. 

Summary 

In part I we discussed the fundamental 
methods and resources required to produce 
any kind of map on a computer. We also 
presented several simple programs in BASIC, 
each containing only about a dozen execut- 
able statements, but which are capable of 
producing a number of attractive and useful 
map projections. 

In this conclusion to "Computer Gener- 
ated Maps", we have shown both the need 
and the means to develop a single, general 
purpose, map projection program with the 
flexibility to produce a variety of perspec- 
tive and azimuthal equidistant maps. The 
subroutine given in listing 1 is an efficient, 
functional program which does just that, 
yet it only contains about 60 executable 
statements. All of the maps illustrated 
in this article were produced by that pro- 
gram, and they are only a sampling of its 
total capability. Whether you plan to gen- 
erate maps for use with communications 
satellites, maps for the captain's console 
of a spacecraft, or maps for the sake of 
having maps, the program presented here 
can enhance your system's capability enor- 
mously and give you many hours of enjoy- 
ment." 




46 i 1 2N 6i09E 

RJMHUTHUl CQUiOISinNT PROJECTION PMPRHEO »» KIUIHH 0. 



Figure 7: Another azimuthal equidistant projection is presented here, but we 
have limited the coverage to 90° of arc. This expands the scale of the map. 
The three concentric circles that have been superimposed on this map show 
the maximum possible communications range from the central location, 
through all of the currently operational amateur radio communications satel- 
lites (Oscar 7, Oscar 8, and RS.-J-2). 



IMMEDIATE DELIVERY ^ 

MODEL 40 300 LPM PRINTERS 



TELETYPES 



® 





• Mechanism or complete assembly 

• 80-column friction feed 

• 80-column tractor feed 

• 132-column tractor feed 



INTERFACES 

• EIA-RS232 

• Simplified EIA-Iike interface 

• Standard serial interface 

• Parallel device interface 



CCnCDAI Communications 
rCUCnAL Corporation 

11126 Shady Trail, Dallas, Texas 75229, (214) 620-0644, 

TELEX 732211 TWX 910-860-5529 



MODEL 43 TERMINALS 




• 4310 RO (Receive Only) 

• 4320 KSR (Keyboard Send-Receive) 

• 4340 BSR (Buffered Send-Receive) 

INTERFACES 

• TTL Serial 

• EIA RS232 or DC20 to 60ma 

• 103-type built-in modem 



Circle 134 on inquiry card. 



lune 1979 © BYTE Publications Inc 123 



Write faster in BASIC, 
FORTRAN, or COBOL 

Documents modify more easily, too 

Human-engineered to do the job better. Yes, you really can get flawless code 
faster, using the Stirl ing/Bekdorf ™ system of software development tools with 
structured programming concepts. The 78F2, 78P4. and 78C1 are human-engineered 
to reduce initial errors, improve de-bugging speed, and aid concept communication. 

first, use the 78F2 Flowchartrix™to lay out your original concept blocks. Then 
use it to write a finely detailed flowchart. 

54% more logic cells than other flowchart forms, put far more of your program 
on each page. Each Flowchartrix has a full 77 logic cells, not just 50. This saves 
paper, and makes your finished flowcharts easier to understand. By seeing up to 
27 extra steps of a program on each page, you comprehend program flow more 
clearly. You save money and storage space, too. 

Every matrix cell in the 7 x 11 matrix has a specific label to help you track 
branch points. When you write program documentation, having a separate reference 
point for each cell makes your program much easier to describe clearly. 

With Flowchartrix, you don't need a shape template to draw remarkably regular 
logic symbols. Guides for the most-used logic symbols are right in each matrix 
cell, to help you draw most standard flowchart symbols entirely free-hand. 

78P4 Print-Out Designers are next. When you finish flowcharting, lay out the 
printed reports your program will generate. Then when you write code you blaze 
through the report generation segments right along with the rest of your program. 

Unique 70 x 160 matrix accommodates even proportional-spacing word processor 
formats. The 160-column width can handle practically any printer format. The 
78P4 is big, 14'/2 x 22 inches, because we've scaled the cell size to human writing 
comfort, not machine print, giving nearly twice the character writing area of other 
printout design sheets. 

Special 5-column area records the program line number of the code which 
creates each printed line It shows, at a glance, exactly which line of code creates 
each line of your report, saving hours of needless search time when you must 
change the report format (and don't you always have to, sooner or later 7 ; 

Every sheet of 78C1 gives you 2 form uses for the price of one. Use 78Cls 
full 28 line x 80 column grid area to code regular program steps. Then for inter- 
active or instructional sections, simply keep your characters within the appropriate 
CRT indicator lines, and you'll automatically know where every character will show 
on your CRT screen 

28 line x 80 column coding capacity saves you 14 sheets out of every 100, 
compared to 24-line forms. 86 sheets hold more program steps than 100 sheets 
of any 24-line form, yet we offer full size 6mm x 3mm grid blocks to give you 
comfortable writing room and visual space between lines. 

Works with your CRT display, no matter what brand you own. Equipped for 
both 16 line x 64 column and 24 line x 80 column display formats. 

Available in three versions (one for BASIC languages, one for FORTRAN, another 
for COBOL), the 78C1 is so powerful we include a 7-page instruction manual with 
every order. 

Every tool in the Stirling/Bekdorf system is surface-engineered to take both 
pen & pencil without blotching. Our tough, extra-heavy, 22'- paper is pure enough 
to use with critical magnetic ink character readers, and gives you crisp, sharp char 
anters with pencil or plastic-tip pen. 

Every part of our system uses eye-comfortable soft blue grids. All grid rulings, 
tints, and division rules are reproduced in a special shade of blue, easy on your 
eyes even after hour i of continuous programming. If you're a professional pro- 
grammer, you'll particularly appreciate our improvement over the green lines you've 
been writing on. 

A 3-ring binder is one more of our secrets for your success. All your notes, 
logic, concepts, flowcharts, code. CRT layouts, print-out designs, and documentation 
can be kept together, in order, in one place. When everything you create stays 
together, debugging and modification is much simpler. 

Order your supply of the world's most advanced software development tools, 
right now, before you hatch even one more bug. 



78F2 Flowchartm 

D 2 padsol 50 - S7 90 

□ 10 padsol 50- S3J 35 



52 85 pkng & stipg 
56 45 pkng & shpg 



78P4 Printout Design Sheets 
Q!padol50= 57 45 • S3 1 5 pkng & shpg 
D 5 pads ol 50 - S3? 10 • S6 75 ping S shpg 

3-hole punched vinyl packets lor 78P4 Design Sheets 
□ selo!5 lor 52 05* SI 35 ping S shpg 
D set OII2 lor 55 00 . S185pkng8 shpg 



78C1 Combination Coding/CRT Layouts 

All are the same pure but please check which language 

format yuu want 

O (or BASIC Dior FORTRAN O tor COBOL 



2 pads OI50- S6 35 ■ 
□ 11) padsol 50 -526 85 < 



SI 95 pkng & shpg 
S3 35 pkng & shpg 



lerss irsidenis please add ', V, sites tu lo hart purr Wr rhip 
UPS so F Bo< addrcsr musl fjir phone number Prices shor 
lor parkins & stiippinfl jre USA only International shipping rater 

jib hinhei yrnie lor details 



I 



□ Sample ol one sheet ol each foiin + 
associated labels 8 lilcialnie %l bO 

Enclosed is my check for $ 

Name 



Charge to □ Mastet Charge □ Visa exp. date j 

Card » < 



Signatote. 



Addiess. 
City 



Phone. 



-Zip- 



| Stirling/Bekdorf j 

4407 Parkwood □ San Antonio, TX 78218 □ (512) 824-5643 

JDO StlSTISttilMiirtitdertSiy ol Blarkman Uki| Gp . inr 



Text continued from page 6: 
will be a more elaborate set of read only 
memory code which interacts with the music 
keyboard and a special function keyboard to 
be defined. Limited timbre setups of the 
synthesizer can then be made when it is 
played and isolated from the data base facili- 
ties of the Pascal machine. 

As for main software, capacity will be 
needed to execute some form of inter- 
pretive real time control software, possibly 
through the use of a threaded interpretive 
language somewhat like Forth. Implemen- 
tations of this sort of language abound: 
Forth, Urth, IPS, and numerous unnamed 
homebrew versions. Such interpreters, which 
are fairly simple to code in machine language 
without an assembler, provide an excellent 
path to more significant software in a 
homebrew situation with a new processor. 
Everyone I know who uses them becomes a 
fanatic, so there are obviously some strong 
emotional arguments for flexibility and 
power that get people addicted. Why not 
try one? 

Hardware reflecting mis requirement will 
perhaps be 4 K bytes of read only memory 
for the kernel of the interpreter design. 
Software design and development will, of 
course, be done in machine language using 
the Pascal machine as a filing and program 
development tool. 

In addition to the 6809 processor, the 
hardware of the new machine will probably 
include 32 K bytes of programmable mem- 
ory in the low end of address space, 16 K 
bytes of 2708 read only memory sockets 
for the various segments of the detail low 
level software, a serial port for the com- 
munications interface, a parallel port for the 
synthesizer interface, a parallel port for the 
music keyboard and miscellaneous key- 
switch inputs, several uncommitted parallel 
ports, and a parallel port for the Sykes flop- 
py, borrowed from the older system to be 
used as a mass storage subsystem. 

This new processor will reflect a number 
of the improvements that have been made in 
the experimenter's computer system art 
over the past few years. It will have a much 
smaller parts count due to the 16 K dynamic 
memory parts I intend to use and I will pay 
attention to packaging, as I want to be able 
to carry the results around. It will be en- 
tirely fabricated with convenient Vector 
Slit-N-Wrap interconnection, although I now 
use the motorized tool to minimize the 
chance of open connections which occurred 
when I used that method by hand. And, of 
course, there is the thrill of experimenting 
with a new processor, the 6809 design de- 
scribed by Terry Ritter and Joel Boney in 
recent issues of BYTE." 



124 



lunr. ,979 IB BYTE Publications Inc.: 



Circle 352 on inquiry card. 



"BOOKS OF INTEREST TO COMPUTER PEOPLE" 




More BYTE 



Hilt 



KS 



in your future 



Circle 36 on inquiry card. 



BYTE |uhp 1979 125 



And the future 



THE BYTE BOOK OF COMPUTER MUSIC combines 
the best computer music articles from past issues of 
BYTE Magazine with exciting new material— all written 
for the computer experimenter interested in this 
fascinating field. 

You will enjoy Hal Chamberlin's "A Sampling of 
Techniques for Computer Performance of Music", 
which shows how you can create four-part melodies 
on your computer. Forthe budget minded, "A $1 9 Music 
Interface" contains practical tutorial information— and 
organ fans will enjoy reading "Electronic Organ Chips 
For Use in Computer Music Synthesis". 

New material includes "Polyphony Made Easy" and 
"A Terrain Reader". The first describes a handy circuit 
that allows you to enter more than one note at a time 
into your computer from a musical keyboard. The 
"Terrain Reader" is a remarkable program that creates 
random music based on land terrain maps. 

Other articles range from flights of fancy about the 
reproductive systems of pianos to Fast Fourier trans- 
form programs written in BASIC and 6800 machine 
language, multi-computer music systems, Walsh 
Functions, and much more. 

For the first time, material difficult to obtain has been 
collected into one convenient, easy to read book. An 
ardent do-it-yourselfer or armchair musicologist will 
find this book to be a useful addition to the library. 



$S& 



ISBN 0-931718-11-2 
Editor: Christopher P. Morgan 
Pages: approx. 128 
Price: $10.00 



ii imnii am 



SUPERWUMPUS is an excit- 
ing computer game incorpo- 
rating the original structure of 
the WUMPUS game along 
with added features to make 
it even more fascinating. The 
original game was described 
in the book What To Do After 
You Hit Return, published by 
the People's Computer Com- 
pany. Programmed in both 
6800 assembly language and 
BASIC, SUPERWUMPUS is not only addictively fun, 
but also provides a splendid tutorial on setting up 
unusual data structures (the tunnel and cave system 
of SUPERWUMPUS forms a dodecahedron). This is a 
PAPERBYTE™ book. 

ISBN 0-931718-03-1 
Author: Jack Emmerichs 
Pages: 56 
Price: $6.00 




r 



Tiny 

Assembler 
0000 
V«ralon3.1 



Slff 









ill 



g&XgSSSSBiSt). 






J 



TINY ASSEMBLER 6800, 
Version 3.1 is an enhancement 
of Jack Emmerichs' success- 
ful Tiny Assembler. The origi- 
nal version (3.0) was described 
first in the April and May 1977 
issues of BYTE magazine, 
and laterinthePAPERBYTE™ 
book TINY ASSEMBLER 
6800 Version 3.0. 
In September 1977, BYTE 
magazine published an article 
entitled, "Expanding The Tiny Assembler". This pro- 
vided a detailed description of the enhancements 
incorporated into Version 3.1, such as the addition of a 
"begin" statement, a "virtual symbol table", and a 
larger subset of the Motorola 6800 assembly language. 

All the above articles, plus an updated version of the 
user's guide, the source, object and PAPERBYTE™ 
bar code formats of both Version 3.0 and 3.1 make this 
book the most complete documentation possible for 
Jack Emmerichs' Tiny Assembler. 

ISBN 0-931718-08-2 
Author: Jack Emmerichs 
Pages: 80 
Price: $9.00 



A walk through this book brings you into Ciarcia's 
Circuit Cellar for a detailed look at the marvelous 
projects which let you do useful things with your micro- 
computer. A collection of more than a year's worth of 
the popular series in BYTE magazine, Ciarcia's Circuit 
Cellar includes the six winners of BYTE's On-going 
Monitor Box (BOMB) award, voted by the readers 
themselves as the best articles of the month: Control 
the World (September 1977), Memory Mapped IO 
(Novemberl977), Program Your Next EROM in BASIC 
(March 1978), Tune In and Turn On (April 1978), Talk 
To Me (June 1978), and Let Your Fingers Do the Talking 
(August 1978). 

Each article is a complete tutorial giving all the details 
needed to construct each project. Using amusing 
anecdotes to introduce the articles and an easy-going 
style, Steve presents each project so that even a 
neophyte need not be afraid to try it. 



$&k 



ISBN 0-931718-074 
Author: Steve Garcia 
Pages: approx. 128 
Price: $8.00 



is right now! 



BASEX, a new compact, compiled language for micro- 
computers, has many of the best features of BASIC 
and the 8080 assembly language— and it can be run 
on any of the 8080 style microprocessors: 8080, Z-80, 
or 8085. This is a PAPERBYTE™ book. 

Subroutines in the BASEX operating system typically 
execute programs up to five times faster than equiva- 
lent programs in a BASIC interpreter— while requiring 
about half the memory space. In addition, BASEX has 
most of the powerful features of good BASIC inter- 
preters including array variables, text strings, arithme- 
tic operations on signed 16 bit integers, and versatile 
lO communication functions. And since the two lan- 
guages, BASEX and BASIC, are so similar, it is possible 
to easily translate programs using integer arithmetic 
data from BASIC into BASEX. 
The author, Paul Warme, has also included a BASEX 
Loader program which is capable of relocating pro- 
grams anywhere in memory. 



\SSJI 



ISBN 0-931718-05-8 
Author: Paul Warme 
Pages: 88 
Price: $8.00 



Frog ramming 
TMtintaDM 



Program 
Design 



PROGRAMMING TECH- 
NIQUES is a series of BYTE 
BOOKS concerned with the 
art and science of computer 
programming. It is a collection 
of the best articles from BYTE 
magazine and new material 
collected just for this series. 
Each volume of the series 
provides the personal com- 
puter user with background 
information to write and main- 
tain programs effectively. 

The first volume in the Programming Techniques 
series is entitled PROGRAM DESIGN. It discusses 
in detail the theory of program design. The purpose 
of the book is to provide the personal computer user 
with the techniques needed to design efficient, effec- 
tive, maintainable programs. Included is information 
concerning structured program design, modular pro- 
gramming techniques, program logic design, and 
examples of some of the more common traps the 
casual as well as the experienced programmer may 
fall into. In addition, details on various aspects of the 
actual program functions, such as hashed tables and 
binary tree processing, are included. 



ISBN 0-931718-12-0 
Editor: Blaise W. Liffick 
Pages: 96 
Price: $6.00 



SIMULATION is the second volume in the Program- 
ming Techniques series. The chapters deal with 
various aspects of specific types of simulation. Both 
theoretical and practical applications are included. 
Particularly stressed is simulation of motion, including 
wave motion and flying objects. The realm of artificial 
intelligence is explored, along with simulating robot 
motion with the microcomputer. Finally, tips on how 
to simulate electronic circuits on the computer are 
detailed. 

ISBN 0-931718-13-9 
Editor: Blaise W. Liffick 
Pages: approx. 80 
Price: $6.00 
Publication: Winter 1979 



RA6800ML: AN M6800 RELOCATABLE MACRO 
ASSEMBLER is a two pass assembler for the Motorola 
6800 microprocessor. It is designed to run on a mini- 
mum system of 16 K bytes of memory, a system 
console (such as a Teletype terminal), a system monitor 
(such as Motorola MIKBGG read only memory pro- 
gram or the ICOM Floppy Disk Operating System), 
and some form of mass file storage (dual cassette 
recorders or a floppy disk). 

The Assembler can produce a program listing, a sorted 
Symbol Table listing and relocatable object code. The 
object code is loaded and linked with other assembled 
modules using the Linking Loader LINK68. (Refer to 
PAPERBYTE™ publication LINK68: AN M6800 
LINKING LOADER for details.) 

There is a complete description of the 6800 Assembly 
language and its components, including outlines of 
the instruction and address formats, pseudo instruc- 
tions and macro facilities. Each major routine of the 
Assembler is described in detail, complete with flow 
charts and a cross reference showing all calling and 
called-by routines, pointers, flags, and temporary 
variables. 

In addition, details on interfacing and using the 
Assembler, error messages generated by the Assem- 
bler, the Assembler and sample IO driver source code 
listings, and PAPERBYTE™ bar code representation 
of the Assembler's relocatable object file are all included. 

This book provides the necessary background for 
coding programs in the 6800 assembly language, and 
for understanding the innermost operations of the 
Assembler. 

ISBN 0-931718-104 
Author: Jack E. Hemenway 
Pages: 184 
Price: $25.00 



to order books see next page 



I- 



LINK68: AN M6800 LINKING LOADER is a one 

pass linking loader which allows separately translated 
relocatable object modules to be loaded and linked 
together to form a single executable load module, and 
to relocate modules in memory. It produces a load map 
and a load module inMotorola MIKBGG loaderformat. 
The Linking Loader requires 2 K bytes of memory, a 
system console (such as a Teletype terminal), a sys- 
tem monitor (for instance, Motorola MIKBGG read 
only memory program or the ICOM Floppy Disk 
Operating System), and some form of mass file stor- 
age (dual cassette recorders or a floppy disk). 

It was the express purpose of the authors of this 
book to provide everything necessary for the user 
to easily learn about the system. In addition to the 
source code and PAPERBYTE™ bar code listings, 
there is a detailed description of the major routines of 
the Linking Loader, including flow charts. While imple- 
menting the system, the user has an opportunity to 
learn about the nature of linking loader design as well 
as simply acquiring a useful software tool. 

ISBN 0-931718-09-0 
Authors: Robert D. Qrappel 
& Jack E. Hemenway 
Pages: 72 
Price: $8.00 
Winter 1979 



TRACER: A 6800 DEBUGGING PROGRAM is for 

the programmer looking for good debugging software. 
TRACER features single step execution using dynamic 
break points, register examination and modification, 
a nd memory examination and modification. This book 
includes a reprint of "Jack and the Machine Debug" 
(from the December 1977 issue of BYTE magazine), 
TRACER program notes, complete assembly and 
source listing in 6800 assembly language, object 
program listing, and machine readable PAPERBYTE™ 
bar codes of the object code. 



ISBN 0-931718-02-3 
Authors: Robert D. Grappel 
& Jack E. Hemenway 
Pages: 24 
Price: $6.00 



MONDEB: AN ADVANCED M6800 MONITOR- 
DEBUGGER has all the general features of Motorola's 
MIKBGG monitor as well as numerous other capabili- 
ties. Ease of use was a prime design consideration. 
The other goal was to achieve minimum memory 
requirements while retaining maximum versatility. 
The result is an extremely versatile program. The size 
of the entire MONDEB is less than 3 K 

Some of the command capabilities of MONDEB in- 
clude displaying and setting the contents of registers, 
setting interrupts for debugging, testing a program- 
mable memory range for bad memory locations, 
changing the display and input base of numbers, 
displaying the contents of memory, searching for a 
specified string, copying a range of bytes from one 
location in memory to another, and defining the loca- 
tion to which control will transfer upon receipt of an 
interrupt This is a PAPERBYTE™ book. 

ISBN 0-931718-06-6 
Author: Don Peters 
Pages: 88 
Price: $5.00 



BAR CODE LOADER. The purpose of this pamphlet 
is to present the decoding algorithm which was de- 
signed by Ken Budnick of Micro-Scan Associates at 
the request of BYTE Publications, Inc., for the PAPER- 
BYTE™ bar code representation of executable code. 
The text of this pamphlet was written by Ken, and 
contains the general algorithm description in flow 
chart form plus detailed assemblies of program code 
for 6800, 6502 and 8080 processors. Individuals with 
computers based on these processors can use the 
software directly. Individuals with other processors can 
use the provided functional specifications and detail 
examples to create equivalent programs. 

ISBN 0-931718-01-5 
Author: Ken Budnick 
Pages: 32 
Price: $2.00 



I 

I 

! 

I 
I 
I 

\-, 

128 



BYTE BOOKS Division • 70 Main Street • Peterborough, New Hampshire 03458 



Name 



Title 



Company 



Street City 

□ Check enclosed in the amount of $ 

□ Bill Visa □ Bill Master Charge Card No. 

Please send the books I have checked. 

□ Computer Music $10.00 

□ SGPERWGMPGS $6.00 

□ Tiny Assembler (3.1) $9.00 

□ Circuit Cellar $8.00 
B AS EX $8.00 

□ Program Design $6.00 

BYTE BOOKS. BYTE BOOKS logo, and PAPERBYTE 

are trademarks ol BYTE Publications. Inc. 



Stale Province 



Code 



Exp. Date 



□ Simulation $6.00 
DRA6800ML $25.00 
DLink68$8.00 

□ TRACER $6.00 
DMondeb$5.00 

□ Bar Code Loader $2.00 

Add 60c per book to cover postage 
and handling 



Please allow 6-H weeks for processing vour order. 



m II luneW) 



Circle 36 on inquiry card. 



iiiiiiiiiiiiiiiiuiiiiiiiHiimiiiiiiniiiMiinMiiMiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiHiiiiiiiiiiiiiiiiiiiiii imiiiiiiiiiiiiiimiiiiiiiiiiiiiiiiiiiiiimiiiiiiii 

BYTE News .... 

lIlllHllllllllllllllllllllllllllIIIIIIIlllllllllIIIIIIIIIIIIIIIIIIlllilllllllllllllllllllJIIillllllllllllllllllllllllllllltlllllllllltllllllJIIIIUIIIIUIIIIIIIIIIIHIIIIHIIIUIIIIIIIIIIIIIIIIIIIlllHltlil 



NCC/NYC TO BE THE BIGGEST COMPUTER SHOW EVER. The National Computer Conference (NCC) will 
happen again June 6 thru 9. Last year 57, 224 attendees turned out for the show, held in Anaheim CA. This 
year the NCC will be held in the New York City Coliseum. AFIPS, the sponsoring organization, expects attendance 
to top that of last year. Approximately 400 companies have reserved 1,700 booth spaces on four floors of the 
Coliseum, with overflow at the New York Hilton and Americana hotels. Last year 396 companies occupied 1,400 
booths. 

NCC will have a personal computing adjunct at the Americana Hotel, a few blocks away. It will probably be 
played down, as it was last year. By way of example, the personal computing exhibitors and speakers were not 
listed in the regular show program book handed out to each attendee; hence, many attendees last year were unaware 
of the personal computing part of the show. 

S-100 BUS STANDARD TO BE ADOPTED SOON. An IEEE committee has been working on a standard for the 
S-100 bus for over a year, and adoption is expected very soon. Much of the credit for this standard goes to George 
Morrow of Thinker Toys. 

This standard will do two things. One, it will resolve the conflicts between the use of many bus pins by different 
manufacturers and eliminate the lack of compatibility between many "S-100 compatible" plug-in boards. Two, 
and possibly more important, it provides use of the S-100 bus for 16 bit processors for extended addressing of up 
to 8 M bytes of memory and for master-slave multiprocessor systems. This will make the S-100 bus the most power- 
ful bus around and will, no doubt, continue and increase its popularity. 

TI AND HP PC SYSTEMS RUMORS. Texas Instruments and Hewlett-Packard continue to maintain tight lips on 
their rumored personal computer systems. As TI has said, "TI will not discuss products that have not yet been 
announced." However, information has leaked out on these units which are expected to have a tremendous impact 
on the personal computing market. Several rumors have been reported in previous BYTE NEWS columns. The 
latest is that TI will introduce their entry at either the NCC show in June or the Consumer Electronics Show 
in July. In either event, it is expected to be ready for the 1979 Christmas market. 

The HP computer is also expected to be ready by Christmas, and is anticipated to be a stripped down version of 
their current table-top system. This means that it will use BASIC and be expandable. 

Both HP and TI are expected to have $500 list prices for the basic unit. Key retailers have already been ap- 
proached by both TI and HP to set up a selective distribution. It is rumored that they will favor selected personal 
computing stores that can do justice to software requirements. 

INTEL TO PRODUCE ANALOG MICROPROCESSOR AND SUPER 8 BIT MICROPROCESSORS. Realtime 
processing of analog signals by microprocessors has been severely limited by the slow speed of most microprocessors. 
For example, an 8080 clocked at 2 M Hz can, at best, synthesize clean sine waves at about 1 to 2 k Hz, which is 
the low end of the audio spectrum. This fall, Intel will introduce an integrated circuit which combines an analog- 
to-digital converter, a digital-to-analog converter, microprocessor and read only memory on a single device. It will 
be capable of processing analog signals up to 13 k Hz. Called the 2920, the integrated circuit will have a 9 bit 
conversion register. It could be used in conjunction with an 8080 processor, where the 2920 does the signal pro- 
cessing while the 8080 does the data processing. 

Intel has done another clever thing. They have taken an 8086 and limited its data I/O (input/output) to 8 bits 
and memory addressing to 16 bits. It is called the 8088 and will deliver five times the performance of the 8080 
(2 M Hz). Actually, the 8088 is an 8086 split into two 8 bit microprocessors on one integrated circuit, one handling 
I/O and the other data processing. It offers most of the features of the 8086 (eg: hardware multiply /divide). 

NATIONAL SEMICONDUCTOR TO INTRODUCE NEW MICROS. It is nearly three years since National intro- 
duced their last microprocessor. (Actually, we must give National credit for pioneering the 16 bit microprocessor 
with the PACE and IMP-16 microprocessors introduced in 1975.) Now National is bringing out a new CMOS 8 bit 
microprocessor that will be software compatible with the 8080, have added features and consume less power. 
Further, they will introduce a 16 bit microprocessor that is a "cut above" the Z-8000 and 68000. Production is 
expected by the end of the year. 

MICROPROCESSORS FOR $1 APIECE ? Maybe not this year. . .but it is approaching fast. Synertek recently 
reduced the 100 lot price for the 6502 (used in the PET, Apple, OSI, etc ) from $10 to $7. In high volume they 
have reduced the price from $4 to $2.50. I can still remember paying $350 for an 8080, just four years ago! 

June 1979 © BYTE Publications Inc 129 



DOUBLE SIDED DISK DRIVES STILL IN LIMITED PRODUCTION . Despite advertising and promotion for 
double sided disk drives, most makers are still having trouble gearing up from prototype runs to full production. 
Shugart Associates, for example, does not expect to be in normal production until the end of the year. 

COLOR VIDEO TERMINALS COMING ON STRONG . The prices of color video terminals, which until now have 
been very expensive as compared to black and white video terminals, are expected to decrease substantially within 
the coming year. Further, they will have more features. The reasons for the price decrease are cost reduction in 
electronics and increased production, as demand increases. More businesses are finding that the difference in price 
for color is worth it in many applications, an example being Management Information Systems. We can expect 
low cost color video terminals on the market for under $1,000. 

At the same time, manufacturers are developing driver software for video terminals which exploit the color 
capability , in particular, combining graphics and alphanumerics. One example would be bit map routines allowing 
the creation of multiple graphics regions on the video terminal while having alphanumeric regions. 

PASCAL NOW AVAILABLE FOR 6800. All 6800 owners who have been envious of the Pascal that is available 
to other processor users can now have their own Pascal. Control Systems Inc, Kansas City KS, has just introduced 
a 6800 version of the UCSD Pascal, Version II. 

HOW ABOUT A COMPUTER VACATION ? Want to combine vacation and hobby? A group of 20 to 50 personal 
computerists are doing just that during Christmas week. They have organized a weeklong workshop to be held at 
a Caribbean resort. Families are welcome. If you are interested in participating, write either Dr Andy Bender, 
400 Old Hook Rd, Westwood NJ 07675, or Dr Jeff Brownstein, 2 Tor Rd, Wappinger Falls NY 12590. 

QUIP VERSUS THE DIP. The new 16 bit microprocessors and the 32 bit microprocessors on the drawing boards 
have created packaging problems for integrated circuit makers. How are they going to get all addressing, data, 
I/O (input/output) lines on an integrated circuit package? Anyone who handles 40 pin dual-in-line packages knows 
the handling problem. Well, Intel and 3M have jointly developed a new 64 pin integrated circuit header called QUIP 
(quad-in-line package). It will have two rows of 16 pins along both edges of the package and will shrink the package 
from 3 1/8 inches, for a 64 pin dual-in-line package (DIP) to 1 5/8 inches for a QUIP. Further, internal lead paths will 
decrease, reducing capacitance, resistance and inductance, and allowing higher operating speeds. Pins will still be on 
0.1 inch centers and the QUIP will cost 15 percent less than the DIP. 

4 K BYTE PROGRAMMABLE MEMORY INTRODUCED . As the size of memory circuits increases, integrated 
circuit makers are going the byte-size memory route to afford easier interfacing to microprocessor buses. Zilog is 
the first to introduce an 8 bit byte programmable memory. Called the Z6132, it is a 32 K bit memory organized 
as 4 K words by 8 bits. It uses a one transistor memory cell and includes on-chip refresh control circuitry. 
Pinout permits easy use in 16 bit systems. Hardware keeps getting easier! 

POD LOVES ADA . After years of trying to standardize a high level computer language, the United States Depart- 
ment of Defense (DOD) has created a special group for this purpose. The final approved language will be called 
ADA, after Ada Augusta, Countess of Lovelace, who is credited with being the very first programmer. 

The DOD have narrowed their choice to two different Pascal-like designs. The preliminary design is due for 
delivery in May of this year, with final approval expected at the end of the year. 

LIQUID CRYSTAL DISPLAYS IMPROVING. The graphics terminal marketplace is going to see some radical 
changes within the next few years as new technologies develop to compete with the age old video type graphics 
terminal technology. Plasma panel and liquid crystal display elements (LCDE) are examples of a new graphics 
technology. The plasma panels offer higher brightness, no flicker, and touch sensing ability. The LCDE are created 
by a scanning laser beam. The LCDE have their own memory, and do not have to be refreshed. Further, they offer 
very high resolution, color and projection capabilities. Both Western Electric and IBM are doing developmental 
work in this area. 

DEC OPENS SECOND RETAIL STORE. Digital Equipment Corp recently opened its second store in Boston. 
Their first store was opened in New Hampshire in July of last year. More stores are planned for "off the shelf" 
purchases. Further, the stores will offer services such as mail list generation and word processing. 

COMPUTER STORES' FUTURE APPEARS EXCELLENT . According to a recently completed study by marketing 
research firm Frost and Sullivan, the main distribution channel for microcomputer systems will continue to be the 
dedicated computer store, for many years. The hobby business will continue to increase, but at a lower rate. The 
larger increase will come from small business purchases. 

Sol Libes 

ACGNJ 

1776 Raritan Rd 

Scotch Plains NJ 07076 

130 lune 1979 © BYTE Publications Inc 



Tpeokeosy 



Software 



INTRODUCES 




Available at your APPLE dealer 

«/pCOKGOSU sOif UJOPC ltd Dealers: Please contact your distributor. 

Box 1220, Kemptville, Onlario, Canada, KOG 1J0 (613) 258~2451 

Also available: STOCK OPTIONS • PIGSKIN PLAYOFFS • FINANCIAL ANALYSIS • 

SPORTSTRIVIA • MICROTRIVIA • TRANSACTIONAL ANALYSIS • 

WARLORDS • KIDSTUFF • BULLS AND BEARS 



Circle 351 on inquiry card. 



BYTE June 1M79 131 



The Nature of Robots 

Part 1: Defining Behavior 



William T Powers 
1133 Whitfield Rd 
North brook I L 60062 



A scientific revolution is just around the 
corner, and anyone with a personal compu- 
ter can participate in it. The last time this 
happened, 250 years ago, the equipment 
was the homebrew telescope and the subject 
was astronomy. Now, astronomy belongs 
just as much to amateurs as to professionals. 
This time the particular subject matter is 
human nature and in a broader scope, 
the nature of all living systems. Some 
ancient and thoroughly accepted principles 
are going to be overturned, and the whole 
direction of scientific investigation of 
life processes will change. 

The key concept behind this revolution 
is control theory. Control theory has been 
developing for almost 40 years, and has al- 
ready been proposed (by Norbert Wiener) 
as a revolutionary concept. It has not been 
easy, however, to see just how control 
theory can be made part of existing scien- 
tific approaches although many people have 
tried. Most of these attempts have tried to 
wedge control theory into existing patterns 
of thought. To apply any new idea in such 
a way, while ignoring the new conceptual 
scheme made possible, is to deny the full 
potential of the new idea. 

Many life scientists who have tried to use 
control theory have tried to imitate the 
engineering approach, dealing with human 
beings as part of a man-machine system 
instead of complete control systems in their 
own right. Others have used control theory 
directly to make models of human and 
animal behavior, but have concentrated 
on minor subsystems, failing to see that the 
organism as a whole can be dealt with in 
terms of the same principles. The result has 
often been a strange mixture of concepts — 
a patchwork instead of a system. 

Strangely enough, many engineers who 
do understand control theory haven't done 
much better. Here the problem is that these 



engineers tend to accept the basic concepts 
developed by biologists and psychologists, 
and to use control theory to explain cause- 
effect relationships they are told exist — but 
which in fact do not exist. We will start this 
development by looking at something called 
behavior, which biologists and psychologists 
have assured engineers is very important, 
thereby leading the engineers astray. 

What is all this supposed to mean? A lot 
is meant, though in different ways. Robotic- 
ists, for example, are trying to develop 
machines which will imitate human organ- 
ization, and so are the artificial intelligence 
experimenters. But from whence came the 
description of the system they are trying 
to model? Basically, it came from the life 
sciences. If the life sciences are using the 
wrong model, it would be essential to 
know that before much more labor is 
invested in imitating an imaginary creature. 

Perhaps the most general reason control 
theory is interesting is that it concerns 
people. There aren't many sciences left 
in which important discoveries can be made 
by amateurs working at their own tables. 
Control theory opens up an entirely new 
field of experimentation, a kind that has 
never been done before in psychology or any 
other life science. 

All that is needed by amateurs who want 
to participate in these developments is a 
basic grasp of control theory, an understand- 
ing of the procedures that go with it, some 
basic equipment, and curiosity about human 
nature. I shall now provide the first two 
items on that list. The rest is up to you. 

The Problem With Behavior 

The word behavior is used frequently — 
we hear about behavioral science, behavior 
modification, behavior therapy. For example, 
Science News now has a "Behavior Column"; 



132 lune 1979 © BYTE Publications Inc 



BYTEs Bugs 



A Negative Sine 

The arcsine and arccosine routines 
discussed in "Inverse Trig Functions" by 
Alan Miller (March 1979 BYTE, page 
92) will not work for negative values of 
X. For arcsine, I recommend (in Mr 
Miller's notation): 

DEF FNSN(X) = ATN(X/SQR(1-X*X)) 

and for cosine: 

DEF FNCS(X) = 
1.570796327-ATN(X/SQR(1-X*X)). 

The constant 1.570796327 is, of 
course, 7T/2. These routines give the cor- 
rect principal value for any value of X 
with an absolute value of less than 1 . 

John A Ball 

Oak Hill Rd 

Harvard MA 01451" 



BYTEs Bits 



Robot Information 

James A Gupton Jr, author of "Talk 
to a Turtle" which appears in this issue 
of BYTE, has offered the following addi- 
tional sources for robot information: 

International Institute for Robotics 
POB615 

Pelahatchie Ml 39145 
Attention: Dale Cowsert, Director 

Offers a complete robot correspond- 
ence course including a microcom- 
puter and a 7>h foot working robot. 
Costs range from Mentor II at $890 
toOmnidex I at $3100. 

Gallaher Research Inc 
POB 10767 Salem Station 
Winston-Salem NC27108 

Offers catalog on robot components 
to build any size robot from one to 
ten feet tall. Catalog cost is $10." 



Get a 




Not just a machine 
that emulates one. 

This powerful computer runs the full 
UCSD Pascal Operating System and 
includes all of the following items: 

• Pascal microengine™ 

• 64K bytes (32K words) of RAM ex 
expandable to 128K bytes. (64K words) 

• Floppy disc CONTROLLER with direct 
memory access (DMA) is switch 
selectable for: 

—single, or double density 
—8" floppy or mini floppy 

— 1 to 4 drives (same type) 

• Complete UCSD Pascal Operating System 

— PASCAL compiler 

— BASIC compiler 
—GRAPHIC package 

— File Manager 
—Screen oriented editor 
—Debugger 

• Two RS-232 asynchronous ports 
(110-19,200 baud) 

• Two 8-bit parallel ports 

• Auto test microdiagnostics 

• Documentation 



$2 



cnn Complete with stylized low profile housing 



€ 



and power supply 

Prices subject to change without notice. 

CUTTING EDGE OF 
TECHNOLOGY, Inc. 

19th floor, 61 Broadway, New York, N.Y. 10006 
212-480-0480 



Circle 74 on inquiry card. 



lune 1979 © BYTE Publications Inc 133 



it was formerly the publication's "Psychol- 
ogy Column". An innocent bystander 
might conclude that any word this import- 
ant must have a universally accepted defini- 
tion, but that is not true. Behavior is a 
slippery concept. 

Here is an example of a person behaving. 
Chip Chad is seated in front of a teletype- 
writer pounding keys. What is he doing? 

Is he alternately tensing and relaxing 
muscles in his arms? Yes. Is he moving his 
fingers up and down? Yes. Is he typing 
strings of symbols? Yes. Is he adding a 
return instruction that he forgot at the 
end of a subroutine? Yes. Is he writing a 
program for plotting stock market prices? 
Yes. Is he making a little extra money for 
a vacation? Yes. Is he justifying his hobby 
to his family? Yes. 

Clearly, each description of what Chip is 
doing is, in fact, an accurate description of 
the very same collection of actions. Which 
one, then, is Chip's behavior? Obviously, 
they all are expressions of behavior. 

Suppose Chip decides that he really 
doesn't need a subroutine, and substitutes 
a jump instruction for the return. Now, he 
is writing the program — obviously the same 
program — by using a different behavior. Or 
suppose he buys an input device, and con- 
tinues working on the subroutine by speak- 
ing letters into a microphone. Now he is 
using different muscles and movements, but 
he is still doing the same behaviors farther 
down the list. How could he be doing the 
same thing by means of doing something 
different? 

Or consider Chip driving a car along a 
straight road. He is consciously steering. 
This happens to be a gusty March day, and 
every five minutes the wind changes speed 
and direction. Chip is an experienced driver, 
and continues to steer the car down the 
road in a straight line. If we look at what his 
arms are doing, however, we find that they 
are moving the steering wheel in an appar- 
ently random pattern, now centered, now 
far to the right, now far to the left. Some- 
how he is managing to produce a constant 
steering-the-car behavior by means of a be- 
havior that is widely varying. The path of 
the car doesn't correlate with the position 
of the steering wheel at all. 

Scientists have always thought of be- 
havior as the final product of activity inside 
the organism. The brain sends commands to 
the muscles, which create forces, which 
produce movements, which generate the 
stable and repeatable patterns we recognize 
as behavior. There is, in principle, a chain 
of cause and effect, with the events at the 
end of the chain being caused by the events 
at the beginning. Such scientists would say 



that in the example with Chip at the compu- 
ter keyboard, we were simply attending to 
various stages in that chain. 

How does that picture fit in with Chip's 
driving the car in a straight line? The direc- 
tion in which the car is going is affected by 
his movements of the steering wheel, and is 
farther out along the chain of causes and 
effects. But the wind adds its effects on the 
direction of the car after Chip's effects in 
the chain. Somehow he is varying his actions 
so that when their effects are added to the 
effects of the randomly varied wind, the 
result is something constant. If we had been 
thinking of driving the car in a straight line 
as Chip's behavior, we have to revise that 
idea: the direction of the car depends just 
as much on the wind as on Chip. 

It may seem that we have simply moved 
our definition of behavior closer to Chip. 
But consider how he moves the steering 
wheel. The wheel moves when the forces re- 
flected from the front wheels do not exactly 
balance the forces created by his muscles. As 
the car goes along, the roadbed tilts and 
various bumps and dips cause changes in the 
reflected forces. The wheel may be turned 
far to the right, into the crosswind, on the 
average, but maintaining the wheel in that 
position requires that his muscles be con- 
stantly changing tension, as the reflected 
steering wheel forces fluctuate. We have 
the same problem as before: Chip produces 
a varying output that affects the steering 
wheel, but the steering wheel is also being 
affected by forces that are independent of 
what Chip is doing with his muscles. Yet 
the sum of the muscle forces and those 
extraneous forces is zero, except when the 
steering wheel is changing position. 

Even if we back up another step and call 
Chip's muscle tensions his behavior, we have 
trouble. Muscles are made to contract by 
signals from the nervous system, but muscles 
don't respond the same amount to a given 
signal every time they are used. They fatigue; 
other muscles interfere with them; joint 
angles change so that a given muscle tension 
can produce different amounts and direc- 
tions of force. The only behavior that 
Chip produces which can be attributed 
entirely to Chip and not in part to his en- 
vironment consists of the nerve signals that 
leave his nervous system and enter his 
muscles. 

If we want to be completely accurate 
about Chip's behavior, we should consider 
the output signals from his nervous system, 
and leave everything else in his environment. 
That is what we will do, but by doing that 
we create the biggest problem of all. 

A scientist studying a behavior hopes to 
learn enough about its rules to predict when 



134 



June 1979 © BYTE Publications Inc 



The TARBELL Connection 

In an effort to offer products that meet the continually changing demands of the microcomputer 
industry, TARBELL ELECTRONICS is pleased to offer immediate delivery of these quality components 
and operating software. All TARBELL products are available from computer store dealers everywhere. 

Tarbell Floppy Disk Interface Tarbell Disk BASIC 



• Plugs directly into 
your IMSAI or 
ALTAIR and handles 
up to 4 standard sin- 
gle drives in daisy- 
chain. 

• Operates at standard 
250K per second 
on normal disk for- 
mat capacity of 256K 
bytes. 

• Works with modified 
CP/M Operating Sys- 
tem and BASIC-E 
Compiler. 

• Hardware includes 4 extra IC slots, 
built-in phantom bootstrap and on- 
board crystal clock. Uses WD 1771 
LSI chip. 

• Full 6-month warranty and extensive 
documentation. 

•Kit $190 Assembled $265. 




Specify drive for assembled units. 
Complete disk subsystems with opera- 
ting software available. Please inquire 
for details. 



• Runs on 8080, 8085 or Z80 

• Searches a file quickly for a string. 

• Up to 64 files open at once. 

• Random Access. 

• Assignment of I/O. 

• Alphanumeric line labels allowed. 

• Read and Write string or numeric 
data. 

• Unlimited length of variable names 
and strings. 

• Procedures with independent varia- 
bles. 

• Number system 10 digits BCD inte- 
ger or floating point. 

• Chain to another program. 

• Cause programs to be appended on- 
to programs already in memory. 

• Cause interpreter to enter edit mode 
using 15 single character edit com- 
mands. 

Occupies 24K of RAM. Tarbell BASIC 

on CP/M Disk $48. 

Source on paper or CP/M Disk . . .$25. 
CP/M and BASIC-E on disk with 
manuals $100. 



Tarbell 32K RAM Memory 

32K Static Memory 

S-100 Bus Connector 

9 regulators provide excellent heat distribution. 

Extended addressing (bank switching.) 

Phantom line. 

Low power requirement. 

20-Page operating manual. 

Full 1-year warranty. 

Assembled and tested full price only $625 

16K version also available, assembled and tested only $390. 



Tarbell Cassette Interface 





• Plugs directly into your IMSAI or ALTAIR. 

• Fastest transfer rate: 187 (standard) to 540 bytes/second. 

• Extremely reliable-Phase encoded (self-clocking). 

• 4 extra status lines, and 4 extra control lines. 

• 37-page manual included. 

• Device code selectable by DIP-switch. 

• Capable of generating Kansas City tapes. 

• No modification required on audio cassette recorder. 

• Complete kit $120 Assembled $1 

• Manual may be purchased separately 

• Full 6-month warranty on kit and assembled units. 

Circle 360 on inquiry card. 



Tarbell Cassette BASIC 

Includes most features of ALTAIR Extended BASIC, plus 
these added features: 

• Assignment of I/O. 

• Alphanumeric line labels. 

• Unlimited length of variable names and strings. 

• Number system 10 digits BCD integer or floating point. 

• Procedures with independent variables. 

• Read and Write string data. 

• Multi-file capability. 

Full price with complete documentation $48. 

Prepaid, COD, or cash only. California residents please add 
6% sales tax. 

ALTAIR is a trademark/tradename of Pertec Computer Corporation 
CP/M is a trademark/tradename of Digital Research 




75. 
$8. 



950 DOVLEN PLACE • SUITE B 
CARSON, CALIFORNIA 90746 

(21 3)538-4251 •(213) 538-2254 



BYTE Ume TJ79 



135 



it will occur. Under the old approach, this 
means varying factors in the environment 
and looking for behaviors that correlate 
with those variations. But if we try to 
describe behavior in terms of the output 
signals from the nervous system, all correla- 
tions disappear. Oh, maybe we have a knee 
jerk or a sneeze left over, but we have lost 
all the regularities that give us some reason 
to talk about behavior in the first place. 
We would never guess, from looking at 
Chip's neural signal outputs, that the result 
of them would be a straight path of a car 
that is being forced one way and another 
by a variable crosswind. 

When you pause and reflect upon what 
has been covered so far, you will realize 
that we are already deep into control theory, 
even though we haven't discussed it by name 
yet. We have dealt with the subject as 
such because the discussion concerns a 
fundamental difficulty with the very con- 
cept of behavior, especially the concept 
that behavior is the final product of an 
organism's inner activities. As we see how 
this difficulty gets resolved, we will be 
forced into control theory no matter how 
we approach the solution. One reason biolo- 
gists or psychologists have not developed 
control theory is that they have clung stub- 
bornly to the idea that behavior is part of 
a causal chain that starts in the nervous 
system (or in stimuli that cause activity in 
the nervous system) and propagates outward 
from there according to physical laws of 
cause and effect. That is why people design 
robots in the same way, and why those 
robots have yet to behave in a way that is 
convincingly alive. In order to solve this 



problem instead of just brushing it aside, 
we have to admit that the causal chain in 
which people have believed for so long 
simply does not exist, and never has existed. 

Figure 1 sums up the problem we are 
dealing with. At every stage of events follow- 
ing the outputs from Chip's nervous system 
disturbances come into play, adding to the 
effects that can be traced to the neural sig- 
nals. As we go farther to the right of the 
figure, we might expect that any regularities 
in Chip's output signals would be lost (ie: 
that each successive variable would show 
more and more random variations). 

Exactly the opposite is true. The farther 
to the right we go in figure 1, the less ran- 
dom variation occurs. The variable farthest 
to the right, the relationship of the car to 
its lane, can remain constant within a few 
inches for hour after hour. We find that this 
is the most stable variable in the chain, 
and that as we go backward up the chain 
toward Chip's nervous system, the random- 
looking variations get larger and larger. At 
the beginning of the chain the variations 
become totally unpredictable. 

Consider figure 2; we added the effects of 
external events on a nervous system. Accord- 
ing to the old picture still fundamental to 
most life sciences, external events act on the 
physical structure of the nervous system 
(along with internal events such as changes 
in body chemistry), and cause outputs to 
occur. Those outputs have consequences 
which show up at the end of the chain as be- 
havioral patterns. To study the organization 
of behavior, you manipulate the external 
events, and look for regular behaviors that 
result (of course, you find them). 



CHIP'S 

NERVOUS 

SYSTEM 




CAR'S 
•POSITION 
IN LANE 



FATIGUE 
ENERGY SUPPLY 
JOINT ANGLE 
OTHER MUSCLES 



BUMPS, DIPS 
WHEEL FRICTION 
TIRE PRESSURE 
{REFLECTED FORCES) 



WIND 
ROAD TILT 



Figure 1 : The cause and effect chain leading to behavior. The behavior called "driving in a straight line" is anything but simple. 
Some psychologists speak of behavior as simply being emitted by an organism, but this is clearly an inadequate concept. Be- 
tween the nervous system and the stable pattern It appears to produce, disturbances come into play, having just as much effect 
on the final outcome as the nervous system has. Nevertheless, the most regularity appears at the end of this chain, and the least 
at the beginning. 



136 June 1979 © BYTE Publications Inc 




HERE'S 
A 

QUICK 

POINT 

YOU 

SHOULD 

KNOW 

ABOUT 



The fastest floating point BASIC for any micro. 



TSC BASIC for the 6800 is 
the fastest floating point 
BASIC for ANY 8 bit micro- 
processor. No longer will 
the 6800 take a back seat to 
the 6502, 8080, or Z80! And 
with the TSC name, you 
know it's top quality. 

TSC BASIC is not only fast, 
but complete with over 50 
commands and functions. 
Features include six digit 
floating point math, full 
transcendental functions, 
unlimited string length, if/ 
then/else construct, logical 
operators, and two-dimen- 



sional arrays including 
string arrays. The disk 
versions for FLEX™ 1.0 and 
2.0 support random access 
data files (the mini FLEX™ 
version does not). 



A cassette version requires 
10K while the disk versions 
require at least 12K. No 
source listings included. 
With KCS cassette - $39.95; 
mini FLEX™ - $49.95; FLEX™ 
2.0 - $54.95; and FLEX™ 1 .0 - 
$59.95. Soon to come are a 
business BASIC and 6809 
BASIC. 



15S 



Technical Systems 
Consultants, Inc. 

All orders should include 3% 
for postage and handling 
'(8% on foreign orders). 
Send 25<P for a complete 
software catalog. 

Box 2574 

W. Lafayette, IN 47906 

(317) 463-2502 



Circle 363 on inquiry card. 



BYTE June 197'J 



137 



About the Author 

William T Powers 
has been exploring the 
meaning of control 
theory for studies of 
human nature since 
1953, when he was 
working as a health 
physicist at the Univer- 
sity of Chicago. Since 
that time he has spent a 
number of years (to 
I960) in medical phys- 
ics, and then another 
13 (to 1975) as Chief 
Systems Engineer for 
the Department of 
Astronomy at North- 
western University. His 
occupation has been 
designing electronic, 
optical, and mechanical 
systems for science. 
Powers' book, Behav- 
ior: The Control of 
Perception (A/dine, 
1973) was quite well 
received. At the mom- 
ent he consults in one- 
of-a-kind electronics. 



EXTERNAL 

EVENTS 

(STIMULI) 



CHIP'S 

NERVOUS 

SYSTEM 



NEURAL SIGNALS 



INTERMEDIATE 
PROCESSES 




FINAL 
■BEHAVIOR 
PATTERN 



DISTURBANCES 



Figure 2: The old model of behavior. In this old model of behavior, environ- 
mental "forces" act on the nervous system to make it produce behavior. The 
logic of this straight-through, cause and effect chain is spoiled by the presence 
of disturbances which act after the last physical output of the nervous system 
(ie: neural signals that activate muscles). This cannot be the correct model 
for stable behavior. 



But in figure 2 we also see those random 
disturbances. The only way to get away 
from them is to make sure that the environ- 
ment remains absolutely stable (ie: that 
nothing happens which can interfere with 
behavior). The standard approach requires 
eliminating those disturbances, for the 
simple reason that if they are not eliminated, 
the experimental results disappear into the 
background noise. Thus by eliminating dis- 
turbances as completely as possible, under 
the guise of establishing standard (ie: control) 
experimental conditions, some scientists 
have swept this basic problem under the 
rug. They have also done away with the 
principal tool we have for understanding 
how these systems really work. If there are 
no disturbances, then the idea of a cause- 
effect chain running from external events 
through the organism to behavior seems to 
hold up, more or less. As soon as natural 
disturbances are allowed to occur, we find 
that the overall connection from external 
event to final behavior remains as clear as 
ever; but, the model of what happens in 
between falls to pieces with a loud crash. 

Closing the Loop 

There seems to be nothing wrong with 
figure 2; nothing, that is, except that it 
cannot account for the regularities of 
behavior. There is something wrong; some- 
thing has been left out. Let's focus on the 
final variable in the chain, the position of 
the car relative to the lane. What variable 
that could affect Chip's senses, do you 
suppose, would have the most to do with 
his manipulations of the steering wheel? 
The position of the car relative to the 
lane. This variable is both the consequence 



of Chip's actions, and the main source of 
sensory information that could cause him 
to act (see figure 3). 

Psychologists have gone this way before. 
They have tried to make sense of this situa- 
tion by supposing that the behavioral vari- 
able is somehow different from the stimulus 
variable. If the position of the car relative 
to its lane is the behavioral variable, then per- 
haps the onset of a change in the visual 
image of the road is the stimulus variable. 
That leads to the idea of a chain of stimuli 
and responses. The car drifts in its lane; 
that stimulates Chip's nervous system to 
make a response, which affects the physical 
position of the car in its lane, which causes 
a new change in the stimulus, and so on 
around and around. 

There are several severe difficulties with 
this explanation. In the first place, there is 
no way to separate the visual image from the 
position of the car; these are just two ways 
of talking about one whole physical situa- 
tion in which a certain collection of inter- 
dependent variables changes simultaneously. 
The alternation between stimulus and re- 
sponse is completely imaginary, as anyone 
who drives knows. If causes and effects 
really were sequential, and chased them- 
selves around and around the loop, it is 
unlikely that Chip would keep the car on 
the road for more than ten seconds. In part 
2 we'll do a proper simulation in BASIC, 
and you will see that when the system is 
designed to behave sequentially, the result 
is most likely to be violent oscillations. 

There is no reason at all to make an 
artificial distinction between the position 
of the car on the road as a behavioral re- 
sponse and as the stimulus which causes 
the response. Only one physical situation 



138 June 1979 © BYTE Publications Inc 



LOWEST PRICES . FAST DELIVERY . DEPENDABLE SERVICE 



DOUBLE DENSITY HORIZON I KIT 

double the storage at the same price! 

Today's best buy. 180K bytes per disk. 
The chosen computer for two MicroWorld 
systems . . . Autoscribe — The Paperwork 
Manager- and Bookkeeper — The Office 
Accountant-. Single density still runs on 
your new Horizon, or you can copy and 
convert all North Star software and pro 
grams to double density. 

• exclusive application software 

• add'l 16K memory (kit), $349 
add'l disk drive (kit), $349 




NEW! 



Call for low assembled prices. Double 
density also available on North Star disk 
sub-system, $599 kit. 



& 






& 



*7o v 




MICROPOLIS 
DISK DRIVE 
FOR TRS-80 




HEATH DATA 
£\^, SYSTEMS PRINTER 



& 









*?<T SOROC IQ 1 20 VIDEO I *£<? Tl 81 PRINTER 
^ TERMINAL ■ N V? X 





MicroWorld Specials 



Integral Data Printer $749 

Add for Tractors $ 150 

Mime Terminal $ 742 

Hazeltine 1410 Terminal . $ 765 
Hazeltine 1500 Terminal . $1097 
Teletype Model 43 

Printer $1019 

Dataproducts M-200 

Printer $2921 

Vector Graphics MZ $3225 

Exidy 16K Sorcerer $1035 

Data General 

microNOVA $CALL 

Qume Sprint 5 RO 

Printer (55cps) $2895 

DEC LS 120 Printer .... $CALL 
Centronics 779 Printer 

(incl. tractors) $1095 

Micropolis 1042 Mod 

I Drive $CALL 

Tl 59 Calculator $ 219 

Novation CAT Modem .. $199 

Tl 820 Terminal $2199 

North Star Horizon 

Software $CALL 

Dataproducts B-300 

Printer $5346 

IPSI 1620 Diablo RO .... $2705 

Hitachi 9" Monitor $184 

Cromemco System III ... $5299 
Imsai VDP-80 $CALL 



\ICRO 

Bringing information technology to your doorstep 
1425 W. 12th PI. • Tempe, AZ 85281 • 602-894-1193 



Circle 233 on inquiry card. 



VISA I No extra charge for credit card orders 




Freight collect, F.O.B. Tempe 
No other handling charges 



Formerly Byte Shop Mall Order 



CALL TOLL-FREE 1-800-528-1418 



POSITION 
OF CAR IN 
ITS LANE 



CHIPS 

NERVOUS 

SYSTEM 



NEURAL SIGNALS 



INTERMEDIATE 
PROCESSES 




POSITION 

•OF CAR IN 

ITS LANE 



DISTURBANCES 



Figure 3: A slightly different view of the old model of behavior. The principle 
stimulus involved in driving a car in a straight line is the position of the car in 
its lane. This is the same variable that is the measure of behavior. The variable 
that is the final outcome of Chip's actions is the same variable that provides 
inputs to the nervous system that is acting. The variable at the causal end of 
the chain is the same variable found at the effective end of the chain. 



INPUT QUANTITY 
(POSITION OF 
CAR IN LANE ) 



exists, and there is no need to present it 
in two disguises. The position of the car on 
the road is both an effect of Chip's actions 
and the sensory situation which leads (with 
a little help from Chip) to those actions. 
There is a closed loop of cause and effect, 
and the position of the car is just one part of 
that loop. 

Now we begin to draw a diagram of a 
proper control system. In figure 4, three 
physical quantities are shown, an output 
quantity, an input quantity, and a dis- 
turbing quantity. 

The output quantity corresponds to an 



CHIPS 

NERVOUS 

SYSTEM 



o 



FEEDBACK FUNCTION 



OUTPUT QUANTITY 
(ANGLE OF 
STEERING WHEEL) 



DISTURBANCE FUNCTION 



-o 



DISTURBING QUANTITY 
(WIND VELOCITY ) 



Figure 4: Closing the loop. By rearranging the relationships shown in figure 3 
and eliminating the redundant appearance of the car position, we create a 
closed loop diagram. This is the general form of a control system diagram that 
will be used in this series from now on. The controlled variable is always the 
input quantity; the output quantity is the means of control. The single distur- 
bance shown represents the net effective disturbance if more than one is 
acting at the same time. The disturbing function is chosen to provide the 
proper net contribution to the input quantity. The feedback function repre- 
sents links external to the behaving nervous system through which outputs 
are transformed into contributions to the state of the input quantity. 



output of Chip's that is entirely due to 
himself (ie: perhaps due to the neural signals 
reaching his muscles or to some variable 
farther down the chain of figure 2, revealed 
when disturbances are known or can be 
legitimately eliminated). 

The input quantity is the variable that is 
stabilized by the variations in Chip's output. 
Thus we call the input quantity, here, the 
position of the car relative to its lane. Of 
course, by that we mean whatever it is 
about that position that can be a sensory 
input to Chip (ie: probably a visual image 
of the hood of the car and the road beyond, 
framed in the windshield). 

Between the output quantity and the in- 
put quantity is placed a feedback function. 
This function expresses the physical links 
that exist between Chip's output quantity 
and the input quantity. In the case of a 
moving car, if the output quantity were 
the angle of the steering wheel, which it 
might be if the angle is also a controlled 
quantity, then the effect of the wheel angle 
would be a continual change of car posi- 
tion, and the feedback function would have 
to include at least one time integration. 
The feedback function is simply a descrip- 
tion of the physical processes which give 
each magnitude and direction of the output 
quantity a contribution to the state of the 
input quantity. 

In figure 4 we also include disturbances as 
an integral part of the diagram of the system. 
The disturbing quantity in this case would 
be wind velocity and direction, and the 
disturbance function connecting it to the 
input quantity would express the way in 
which aerodynamic laws convert wind 
velocity into effects on the car's position 
in its lane. 



140 



June 1979 © BYTE Publications Inc 



The state of the input quantity, there- 
fore, can be expressed in terms of all 
effects which contribute to it. We have 
shown only the output quantity and the 
disturbance due to wind. Many other dis- 
turbances - low tires, or tight wheel bear- 
ings, or gradation in the road — could 
also contribute to the state of the input 
quantity at the same time. All disturbances, 
however, can be reduced to a single one, 
since no matter what the cause of the dis- 
turbance, the only effect that matters is 
the effect on lateral position of the car. 

Chip himself can be represented by a 
function, a function that converts the sensed 
position of the car into a steering wheel 
angle. This system function (system, being 
short for behaving system) will surely con- 
tain delays, nonlinearities, and even varia- 
tions of its parameters. At first glance it may 
seem a terrible oversimplification to reduce 
a whole human being to a simple input/ 
output box, but the situation isn't that 
bad. We are centering this diagram around 
the input quantity, not around Chip as 
a whole; therefore the "Chip box" does 
not wholly represent him, but only that 
part which reacts to changes in the input 
quantity by altering the output quantity. 
Furthermore, the Chip box (ie: the system 
function) is not quite as simple as it seems 
even after being simplified a great deal. 

The functions connecting the variables in 
this closed loop can be extremely complex, 
and even to approach this system analyti- 
cally will obviously require some approx- 
imations. This is not the place to justify 
every simplification; sometimes complex 
mathematics are required to reach a simple 
conclusion. I'll drop some hints along the 
way about how the simplified model is gen- 
erated and why it works, but if you really 
want to get into this, study a text on servo- 
mechanism design. 

Simulating Chip 

Let us conclude by building a working 
simulator of Chip driving the car. This is 
just a hint of what this 4 part series of articles 
will develop. Building the simulator requires 
building some special numbers into the pro- 
gram without any explanation at present. 
The point is to enjoy the simulation, and get 
used to the idea that everything in a control 
loop happens at the same time. 

We will assume that the steering wheel 
angle to left or right of center is Chip's out- 
put quantity, and that there are no distur- 
bances that can interfere at this point. This 
output quantity will be called A. 

Under the influence of A alone, the car 



would drift sideways at a rate proportional 
to A, for small deviations from the center 
of the lane. Designating the crosswind veloc- 
ity as W, if W were the only influence acting, 
the car would drift sideways at a rate pro- 
portional to W (in this somewhat over- 
simplified universe). In the BASIC program 
we will assume that each iteration corres- 
ponds to a fixed amount of elapsed time, so 
the distance D that the car will drift during 
any one iteration is simply the sum of the 
two influences acting on it (line numbers 
correlate with listing 1 ): 

7 D=K1*W+K2*A 

The position, I, of the car relative to its 
lane will change by an amount D on each 
iteration: 

8 I = I + D 

Now I must introduce a detail: if we just 
had Chip respond proportionally to the de- 
viation of car position, we would have to 
make his muscles so flabby that hardly any 
response would occur, unless we wanted to 
demonstrate self-immolating oscillations. We 
have to take care of two destabilizing factors. 
First, the feedback function is essentially 



Your TRS • 80 Apple 1 1 Micropolis Vector MZ 
Exidy Sorcerer Cromemco CBasic-CP/ M Microsoft Computer 

WILL SAVE YOU 



_ THOUSANDS! 



WITH OUR 

BUSINESS 

SOFTWARE 



GENERAL LEDGER • 

ACCTS. PAYABLE 




& 



FLEXIBLE 

STARTER 

SYSTEM 



EASY TO UNDER / STAND & USE 



• ACCTS. RECEIVABLE 
INVENTORY • PAYROLL 



Buy simple, effective programs designed specifically for your 
machine. Call us once for same week delivery on a product you 
can use the day you receive it, and two years from now when 
your company is twice as big. And ask about MICROMAX - our 
computer output videotape system. 

TRS«80: $100/each. CBASIC-CP/M: $200/each. Apple II, Mi- 
cropolis, Vector, Exidy, Cromemco, and Microsoft: $140/each. 

Order today by UPS. COD, or with ^ » , 

Visa, Mastercharge, or your personal (COMPU/iNoiVaX 



check— we'll pay postage and handling. 

[415] 321-2881 505 Hamilton Ave. Palo Alto, CA 94301 




SOCIATES. INC. 



Circle 53 on inquiry card. 



lune 1979 © BYTE Publications Inc 141 



PET / TRS-80 / APPLE: Personal Software brings you the finest! 



X i Jfc. $ #■ t ap: 


A A A A ▲ A i 


1 HM 1 TE 1 

I black 1 


-r n tk >,. rc r* — ; 

ii | ki i i ii >' < 





Ml 
CHESS 

The Industry's First 

Gold Cassette 

Over 50,000 Sold 




MICROCHESS is the industry's best selling computer game. And 
no wonder— because MICROCHESS gives you more than just a 
chessplaying program: A convenient, foolproof set of commands 
and error checks ... complete instructions in a 5%™ by 8%" booklet ... 
a cassette that's guaranteed to load, with disk versions coming 
soon ... and several levels of difficulty to challenge you not just 
once, but time after time. It's available through well over three 
hundred computer stores and many mail order sources ... always 



originating from Personal Software. What's more, every Personal 
Software product is selected to give you these same benefits of 
easy availability, reliable cassettes, readable documentation, a 
carefully thought out user interface ... and most important, 
continuing challenge and enjoyment, not just once but time after 
time. If you haven't already, order your own gold cassette: 
MICROCHESS, by Peter Jennings, for 8K PETs, 16K APPLES, and 
4K Level I and II TRS-80S $19.95 




TIM 
TREK 

A Tour De Force 

In Real Time Action 

Strategy Games 




TIME TREK by Brad Templeton for 8K PETs and Joshua Lavinsky 

for4K Level I and II TRS-SOs adds a dramatic new dimension to the 
classic Star Trek type strategy game: REAL TIME ACTION! You'll 
need fast reflexes as well as sharp wits to win in this constantly 
changing game. Be prepared— the Klingons will fire at you as you 
move, and will move themselves at the same time, even from 
quadrant to quadrant— but with practice you can change course 
and speed, aim and fire in one smooth motion, as fast as you can 
press the keys. Steer under power around obstacles— evade enejny 





shots as they come towards you— lower your shields just long 
enough to fire your phasers, betting that you can get them back up 
in time! With nine levels of difficulty, this challenging game is easy 
to learn, yet takes most users months of play to master. ADD 
SOUND EFFECTS with a simple two-wire hookup to any audio 
amplifier; the TRS-80 also produces sound effects directly through 
the keyboard case, to accompany spectacular graphics 
explosions! You won't want to miss this memorable version of a 
favorite computer game $14.95 




BLOCKADE by Ken Anderson for 4K 

Level I and II TRS-80s is a real time 
action game for two players, with high 
speed graphics in machine language. 
Each player uses four keys to control 
the direction of a moving wall. Try to 
force your opponent into a collision 
without running into a wall yourself! A 
strategy game at lower speeds, 
BLOCKADE turns into a tense game of 
reflexes and coordination at faster 
rates. Play on a flat or spherical course 
at any of ten different speeds. You can 
hear SOUND EFFECTS through a 
nearby AM radio— expect some 
razzing if you lose! 14.95 



GRAPHICS PACKAGE by Dan Fylstra 
for 8K PETs includes programs for the 
most common 'practical' graphics 
applications: PLOTTER graphs both 
functions and data to a resolution of 80 
by 50 points, with automatic scaling 
and labeling of the axes; BARPLOT 
produces horizontal and vertical, 
segmented and labeled bar graphs; 
LETTER displays messages in large 
block letters, using any alphanumeric 
or special character on the PET 
keyboard; and DOODLER can be used 
to create arbitrary screen patterns and 
save them on cassette or in a BASIC 



ELECTRIC PAINTBRUSH by Ken 
Anderson for 4K Level I and 1 1 TRS-SOs: 
Create dazzling real time graphics 
displays at speeds far beyond BASIC, 
by writing 'programs' consisting of 
simple graphics commands for a 
machine language interpreter. 
Commands let you draw lines, turn 
corners, change white to black, repeat 
previous steps, or call other programs. 
The ELECTRIC PAINTBRUSH manual 
shows you how to create a variety of 
fascinating artistic patterns including 
the one pictured. Show your friends 
some special effects they've never 
seen on a TV screen! . . .» $14.95 



program $14.95 

WHERE TO GET IT: Look for the Personal Software"" display rack at your local computer store. If you can 't find the product you want, you 
can order direct with your VISA/Master Charge card by dialing 1-800-325-6400 toll free (24 hours, 7 days; in Missouri, dial 1-800-3426600). 
If you have questions, please call 617-783-0694. Or you can mail your order to one of the addresses below, as of the dates shown. 



Until July 1: P.O. Box 136 
Cambridge, Mass. 02138 



Personal 
Software 



TM 



After July 1: 592 Weddell Dr. 
Sunnyvale, Calif. 94086 



142 



BYTE June 1979 



Circle 302 on inquiry card. 



Look for Personal Software™ products at the dealer nearest you! 

DIM* CIIAII rvmril cnrTimnr _. ... ~ 



ALABAMA 

BYTE SHOP 

Huntsville. AL 3580b 

COMPUTERLAND 

Huntsville. AL 35805 

CPU. INC. 

Montgomery. AL 36104 

THE LOGIC STORE 

Opelika. AL 36801 

ALASKA 

ALPHA ELECTRONICS 

Anchorage, AK 99503 

ARIZONA 

MILLET'S TV 8 RADIO 

Mesa. AZ 85204 

PERSONAL COMPUTER PLACE 

Mesa. AZ 85202 

COMPUTERLAND OF PHOENIX 

Phoenix. AZ 85016 

COMPUTER SHOWROOM 

Tucson. AZ 85710 

ARKANSAS 

COMPUTERLAND 

Little Rock. AR 72212 

DATACOPE 

Little Rock, AR 72204 

CALIFORNIA 

JAY-KERN ELECTRONICS 

Bakerslield. CA 93305 

BYTE SHOP 

Burbank. CA 91506 

BYTE SHOP OE SACRAMENTO 

Citrus Heights, CA 95610 

COAST COMPUTER CENTER 

Costa Mesa, CA 92627 

CAPITOL COMPUTER SYSTEMS 

Davis. CA 95616 

COMPUTERLAND SAN DIEGO EAST 

El Caion, CA 92020 

COMPUTERLAND OF EL CERRITO 

El Cerrilo, CA 94530 

BUSINESS ENHANCEMENT 

COMPUSERVICE 

Escondido, CA 92027 

CHANNEL DATA SYSTEMS 

Goleta.CA 93017 

RAINBOW COMPUTING 

Granada Hills. CA 91344 

JADE COMPUTER PRODUCTS 

Hawthorne. CA 90250 

BYTE SHOP OF HAYWARD 

Hay ward. CA 94541 

COMPUTERLAND OF HAYWARD 

Hayward, CA 94541 

COMPUTERLAND OF WEST L.A. 

Inglewood, CA 90302 

COMPUTER COMPONENTS 

OF SOUTH BAY 

lawndale, CA 90260 

COMPUTERLAND OF SOUTH BAY 

Lawndale, CA 90260 

A-VIOD ELECTRONICS 

Long Beach, CA 90815 

COMPUTERLAND 

Los Altos, CA 94022 

BYTE SHOP 

Mountain View, CA 94040 

HOBBY WORLD ELECTRONICS 

Northndge, CA 91324 

COMPUTERS-MADE-EASY 

Palmdale, CA 93550 

BYTE SHOP OF PLACENTIA 

Placentia. CA 92670 

COMPUTER CENTER 

Riverside, CA 92503 

CAPITOL COMPUTER SYSTEMS 

Sacramento. CA 95821 

COMPUTERLAND 

San Bernadmo, CA 92404 

COMPUTERLAND OF SAN DIEGO 

San Diego. CA 92111 

COMPUTER MERCHANT 

San Diego, CA 92115 

COMPUTERLAND OF 

SAN FRANCISCO 

San Francisco. CA 94105 

VIDEO GAMES 8, COMPUTERS 

San Francisco. CA 94118 

COMPUTERLAND OF SAN JOSE 

San Jose, CA 95129 

COMPUTERLAND (Central) 

San Leandro, CA 94577 

BYTE SHOP 

San Louis Obispo, CA 93401 

MARIN COMPUTER CENTER 

San Ralael. CA 94903 

ADVANCED COMPUTER PRODUCTS 

Santa Ana. CA 92705 

BYTE SHOP 

Santa Clara. CA 95051 

COMPUTER FORUM 

Santa Fe Springs. CA 90670 

THE COMPUTER STORE 

Santa Monica, CA 90401 

SANTA ROSA COMPUTER CENTER 

Santa Rosa. CA 95404 

BYTE SHOP 

Suisun. CA 94585 

COMPUTERS PLUS 

Sunnyvale. CA 94087 

BYTE SHOP OF TARZANA 

Tarzana, CA 91356 

COMPUTERLAND OF 

THOUSAND OAKS 

Thousand Oaks. CA 91360 

Circle 302 on inquiry card. 



SMALL SYSTEM SOFTWARE 

Thousand Oaks, CA 91360 

COMPUTER COMPONENTS 

Van Nuys, CA 91411 

COMPUTERLAND 

Walnut Creek. CA 94598 

BYTE SHOP 

Westminster. CA 92683 

COMPUTER COMPONENTS OF 

ORANGE COUNTY 

Westminster, CA 92683 

COLORADO 

BYTE SHOP 

Boulder, CO 80301 

COMPUTERLAND 

Colorado Springs, CO 80917 

AMPTEC 

Denver. CO 80216 

COMPUTERLAND 

Denver, CO 80222 

BYTE SHOP 

Englewood, CO 80110 

MICRO WORLD ELECTRONIX 

Lakewood, CO 80226 

CONNECTICUT 

COMPUTERLAND OF FAIRFIELD 

Fairfield. CT 06430 

JRV COMPUTER STORE 

Hamden, CT 06518 

THE COMPUTER STORE 

Hartlord. CT 06103 

THE COMPUTER STORE 

Windsor Locks. CT 06096 

WASHINGTON D.C. 

COMPUTER CABLEVISION 

Washington, D.C. 20007 

FLORIDA 

COMPUTERLAND 

Boca Raton. EL 33432 

THE COMPUTER STORE 

Bradenton, FL 33505 

THE COMPUTER STORE 

Clearwater, FL 33516 

UCATAN 

Destin, FL 32541 

BYTE SHOP 

Fort Lauderdale. FL 33334 

COMPUTERLAND 

Fort Lauderdale. FL 33308 

COMPUTERS FOR YOU 

Fort Lauderdale, FL 33312 

DATA MOVERS 

Fori Meyers, FL 33901 

FOCUS SCIENTIFIC ENTERPRISES 

Miami, FL 33132 

GRICE ELECTRONICS 

Pensacola. FL 32589 

COMPUTER AGE 

Pompano Beach. FL 33062 

PAPERBACK BOOKSMITH 

Sarasota. FL 33581 

AMF ELECTRONICS 

Tampa, FL 33612 

MICRO COMPUTER SYSTEMS 

Tampa, FL 33609 

COMPUTER CENTER OF 

PALM BEACHES 

West Palm Beach, FL 33409 

GEORGIA 

ADVANCE COMPUTER TECHNOLOGIES 

Atlanta, GA 30328 

COMPUSHOP ' 

Atlanta, GA 30342 

DATAMART 

Atlanta, GA 30305 

THE LOGIC STORE 

Columbus, GA 31906 

COMPUTERLAND OF ATLANTA 

Smyrna, GA 30080 

HAWAII 

COMPUTERLAND 

Honolulu. HI 96813 

MICROCOMPUTER SYSTEMS 

Honolulu, HI 96813 

RADIO SHACK (Dealer] 

Lihue. HI 96766 

IDAHO 

NORTHWEST COMPUTER CENTER 

Boise, ID 83704 

ILLINOIS 

COMPUTERLAND OF 

ARLINGTON HEIGHTS 

Arlington Heights, IL 03904 

FARNSWORTH COMPUTER CENTER 

Aurora. IL 60505 

KAPPEL'S COMPUTER STORE 

Belleville. IL 62220 

DOW COM 

Carbondale, IL 62901 

BYTE SHOP 

Champaign, IL 61820 

THE ELEKTRIK KEYBOARD 

Chicago. IL 60614 

EMMANUEL B. GARCIA JR. 

AND ASSOCIATES 

Chicago. IL 60613 

PERSONAL COMPUTER 

Chicago. IL 61820 

COMPUTERLAND 

Downers Grove, IL 60515 

COMPUTER STATION 

Granite City, IL 62040 

ORCUTT BUSINESS MACHINES 

La Salle, IL 613D1 



ILLINI MICROCOMPUTERS 

Naperville, IL 60540 

COMPUTERLAND OF NILES 

Niles. IL 60648 

COMPUTERLAND 

Oak Lawn, IL 60453 

COMPUTERLAND OF PEORIA 

Peoria, IL 61614 

WALLACE ELECTRONICS 

Peoria. IL 61614 

DATA DOMAIN 

Schaumburg, IL 60195 

INDIANA 

DATA DOMAIN OF FORI WAYNE 

Fort Wayne, IN 46805 

HOME COMPUTER CENTER 

Indianapolis. IN 46220 

PUBLIC COMPUTING 

Lafayette. IN 47904 

IOWA 

SYNCHRONIZED SYSTEMS 

Des Moines. IA 50310 

THE COMPUTER CENTER 

Waterloo. IA 50701 

KANSAS 

THE COMPUTER ROOM 

Overland Park. KS 66212 

PERSONAL COMPUTER CENTER 

Overland Park. KS 66206 

COMPUTER SYSTEMS DESIGN 

Wichita. KS 67214 

LOUISIANA 

COMPUTER SHOPPE 

Metaire. LA 70002 

MARYLAND 

COMPUTERLAND 

Rockville. MD 20855 

COMPUTER WORKSHOP 

Rockville. MD 20852 

COMPUTERS ETC 

Towson, MD 21204 

COMPUTERS UNLIMITED 

Towson, MD 21204 

MASSACHUSETTS 

THE COMPUTER STORE 

Burlington, MA 01803 

THE COMPUTER STORE 

Cambridge. MA 02139 

CPU SHOP 

Charlestown, MA 02129 

MAO HATTER SOFTWARE 

Dracut, MA 01826 

NEW ENGLAND ELECTRONICS 

Needham, MA 02194 

NEW ENGLAND ELECTRONICS 

Springfield, MA 01103 

MICHIGAN 

NEWMAN COMPUTER EXCHANGE 

Ann Arbor, Ml 48104 

NEW DIMENSIONS IN COMPUTING 

East Lansing, Ml 48823 

COMPUTER HOUSE DIV. 

Jackson. Ml 49202 

COMPUTERLAND OF 

GRAND RAPIDS 

Kentwood. Ml 49508 

COMPUTRONIX 

Midland. Ml 48640 

COMPUTER MART OF ROYAL OAK 

Royal Oak. Ml 48073 

TRI CITY COMPUTER MART 

Saginaw, Ml 48603 

COMPUTERLAND 

Southlield, Ml 48034 

LEVEL FOUR PRODUCTIONS 

Westland. Ml 48185 

MINNESOTA 

COMPUTERLAND 

Bloomington, MN 55431 

MINN. MICRO SYSTEMS 

Minneapolis, MN 55454 

MISSISSIPPI 
OXFORD SOFTWARE CO. 

Oxford. MS 38655 

MISSOURI 

FORSYTHE COMPUTERS 

Clayton. MO 63105 

COMPUTER COUNTRY 

Florissant. MO 63031 

GREATEST GRAPHICS 

Springfield. MO 65804 

NEBRASKA 

OMAHA COMPUTER STORE 

Omaha. NE 68127 

NEVADA 

HOME COMPUTERS 

Las Vegas. NV 89109 

NEW HAMPSHIRE 

TRS-80 SOFTWARE EXCHANGE 

Millord, NH 03055 

COMPUTERLAND OF NASHUA 

Nashua, NH 03060 

BITS, INC. 

Peterborough, NH 03458 

NEW JERSEY 

COMPUTER LAB OF NJ 

Budd Lake. NJ 07828 

COMPUTER EMPORIUM 

Cherry Hill. NJ 08002 



COMPUTER MART OF NJ 

Iselin, NJ 08830 

MSM ELECTRONICS 

Medford. NJ 08055 

COMPUTERLAND 

Moms'town, NJ 07960 

COMPUTERLAND 

Paramus. NJ 07652 

COMPUTER NOOK 

Pine Brook. NJ 07058 

COMPUTER CORNER 

Pompton Lakes. NJ 07442 

COMPUTER ENCOUNTER 

Princeton, NJ 08540 

1YPTRONIC COMPUTER STORE 

Ramsey, NJ 07446 

NEW YORK 

COMPUTERLAND 

Buffalo, NY 14150 

COMPUTERLAND 

Carle Place, NY 11514 

COMPUTER SHOP OF SYRACUSE 

De Witt, NY 13214 

THE COMPUTER TREE 

Endwell, NY 13760 

LONG ISLAND COMPUTER 

GENERAL STORE 

Lynbrook. NY 11563 

COMPUTER MICROSYSTEMS 

Manhasset. NY 11030 

COMPUTER SHOPPE 

Middle Island, NY 11953 

THE COMPUTER FACTORY 

New York. NY 10017 

COMPUTER MART OF NEW YORK 

New York, NY 10016 

DATEL SYSTEMS 

New York. NY 10036 

AUTOMATIC SYSTEMS 

Poughkeepsie. NY 12603 

COMPUTER HOUSE 

Rochester. NY 14609 

THE COMPUTER STORE 

Rochester, NY 14618 

HOME COMPUTER CENTER 

Rochester, NY 14607 

THE COMPUTER CORNER 

White Plains, NY 10601 

READOUT COMPUTER STORE 

Wilhamsville. NY 14221 

NORTH CAROLINA 

BYTE SHOP 

Charlotte, NC 28212 

COMPUTERLAND 

Charlotte, NC 28205 

FUTUREWORLD 

Durham, NC 27707 

BYTE SHOP 

Greensboro. NC 27401 

MICROCOMPUTER SERVICES 

Hickory, NC 28601 

BYTE SHOP OF RALEIGH 

Raleigh, NC 27605 

OHIO 

BASIC COMPUTER SHOP 

Akron, OH 44314 

CINCINNATI COMPUTER STORE 

Cincinnati. OH 45246 

21ST CENTURY SHOP 

Cincinnati. OH 45202 

DIGITAL DESIGN 

Cincinnati, OH 45202 

CYBER SHOP 

Columbus, OH 43227 

MICRO MINI COMPUTER WORLD 

Columbus, OH 43213 

COMPUTER SOLUTIONS 

Dayton. OH 45409 

DAYTON COMPUTER MART 

Dayton, OH 45409 

ASTRO VIDEO ELECTRONICS 

Lancaster, OH 43130 

COMPUTERLAND OF CLEVELAND 

Mayfield Heights. OH 44121 

RADIO SHACK (Dealer] 

St. Clairsville. OH 43950 

OKLAHOMA 

HIGH TECHNOLOGY 

Oklahoma City. OK 73106 

MICROLITHICS 

Oklahoma City, OK 73127 

HIGH TECHNOLOGY 

Tulsa, OK 74129 

OREGON 

THE COMPUTER STORE 

Corvallis. OR 97330 

CAMERA AND COMPUTER 

EMPORIUM 

Portland, OR 97205 

COMPUTERLAND OF PORTLAND 

Tigart, OR 97223 

PENNSYLVANIA 

BYTE SHOP 

Bryn Mawr. PA 19010 

PERSONAL COMPUTER CENTER 

Frazer, PA 19355 

COMPUTER AID 

Lafrobe. PA 15650 

THE COMPUTER WORKSHOP 

Murrysvillc, PA 15668 



P.S.: VISICALC—Howdid you 
ever do without it? 



A B COMPUTERS 

Perkasie, PA 18944 

MICROTRONIX 

Philadelphia, PA 19106 

SOUTH CAROLINA 

DATA MART 

Greenville. SC 29607 

TENNESSEE 

MICROCOMPUTER STORE 

Knoxville. TN 37919 

COMPUTER LABS OF MEMPHIS 

Memphis, TN 38117 

DOC'S COMPUTER SHOP 

Nashville, TN 37211 

TEXAS 

COMPUTERLAND OF AUSTIN 

Austin. TX 78757 

COMPUTERS 'N THINGS 

Austin, TX 78731 

MICRO COMPUTER SHOPPE 

Corpus Chnsh, TX 78411 

COMPUSHOP 

Dallas. TX 75243 

COMPUTERLAND 

Dallas, TX 75231 

KA ELECTRONICS SALES 

Dallas. TX 75247 

COMPUTER TERMINAL 

El Paso. TX 79901 

RAM MICRO SYSTEMS 

Fori Worth. TX 76116 

COMPUTERCRAFT 

Houston, TX 77063 

COMPUTERLAND OF HOUSTON BAY 

Houston, TX 77058 

NEIGHBORHOOD COMPUTER 

Lubbock. TX 79401 

COMPUTER PATCH OF SANTA FE 

Odessa. TX 79762 

COMPUSHOP 

Richardson. TX 75080 

THE COMPUTER SHOP 

San Antonio. TX 78216 

COMPUTER SOLUTIONS 

San Antonio, TX 78229 

WICHITA COMPUTER SYSTEMS 

Wichita Falls. TX 76301 

UTAH 

ADP SYSTEMS 

Logan, UT 84321 

COMPUTER CONCEPTS GROUP 

Sail Lake City, UT 84109 

THE HI-FI SHOP 

Sail Lake City. UT 84117 

VERMONT 

COMPUTERMART 

Essex Junction. VT 05452 

VIRGINIA 

COMPUTER HARDWARE STORE 

Alexandria. VA 22314 

COMPUTERS PLUS 

Alexandria, VA 22304 

COW, INC. 

Blacksburg, VA 24060 

HOME COMPUTER CENTER 

Newport News. VA 23606 

COMPUTER TECHNIQUES 

Richmond, VA 23235 

THE COMPUTER PLACE 

Roanoke, VA 24015 

CCiMPUTER WORKSHOP 

Springfield, VA 22151 

COMPUTERLAND 

Vienna, VA 22180 

HOME COMPUTER CENTER 

Virginia Beach, VA 23452 

WASHINGTON 

OMEGA NORTHWEST 

Bellevue. WA 98004 

COMPUTERLAND OF SOUTH 

KING COUNTY 

Federal Way, WA 98003 

YE OLOE COMPUTER SHOPPE 

Richland. WA 99352 

THE COMPUTER SHOPPE 

Seattle. WA 98115 

EMPIRE ELECTRONICS 

Seattle. WA 98166 

PERSONAL COMPUTERS 

Spokane. WA 99202 

COMPUTERLAND 

Tacoma, WA 98499 

WISCONSIN 

BYTE SHOP OF MILWAUKEE 

Greenfield. Wl 53227 

COMPUTERLAND 

Madison. Wl 53711 

MADISON COMPUTER STORE 

Madison. Wl 53711 

COMPUTERLAND 

Milwaukee, Wl 53222 

FOX VALLEY 

COMPUTER STORE 

Neenha, Wl 54956 

WYOMING 

COMPUTER CONCEPTS 

Cheyenne. WY 82001 

AUSTRALIA 

ELECTRONIC CONCEPTS PTY. LTD. 

COMPUTERLAND 

Sydney, N.S.W. 

CANADA 

COMPUSHOP 

Calgary, Alberta T2N 2A4 



THE COMPUTER SHOP 

Calgary, Alberta T2T 4T9 

ORTHON COMPUTERS 

Edmonton, Alberta T5N 3N3 

1JB MICROSYSTEMS 

Edmonton, Alberta T5M 0H9 

CONTI ELECTRONICS 

Vancouver. B.C. V5W 2Z4 

COMPUTER CITY 

Winnepeg, Manitoba R3P 0H8 

COMPUTERLAND 

Winnepeg, Manitoba R3G 0M8 

INTERACTIVE COMPUTER SYSTEMS 

Fredenckton, New Brunswick 

MINICOMP SYSTEMS 

Halifax, Nova Scotia B3K 2G1 

KOBETEK SYSTEMS 

Wolfville. Nova Scotia BOP 1X0 

COMPUTERLAND 

Burlington. Ontario 

LYNTRONICS 

Oownsview, Ontario M2J 2W6 

COMPUTER CIRCUITS 

London, Ontario N6A 3H2 

COMPUMART 

Ottawa, Ontario K2A 1J2 

COMPUTER INNOVATIONS 

Ottawa. Ontario K1B 4A8 

RICHVALE TELECOMMUNICATIONS 

Richmond Hill, Ontario 

THE COMPUTER CENTRE 

Sarnia, Ontario N7T 1B4 

COMPUTER MART 

Toronto. Ontario M4G 3B5 

THE COMPUTER PLACE 

Toronto, Ontario M5V 1Z1 

COMPUTER SPECIALIST 

Toronto. Ontario M3K 1E7 

HOME COMPUTER CENTRE 

Toronto. Ontario M2M 3W2 

HOUSE OF COMPUTERS 

Toronto. Ontario 

MARKETRON 

Toronto. Ontario 

MICRO-WARE 

Toronto, Ontario M4E 2L2 

COMPUCENTRE 

Montreal Quebec H1J 1Z4 

FIJTUR BYTE 

Montreal. Quebec H3B 3C9 

CUSTOM COMPUTING SERVICES 

Saskatoon, Saskatchewan S7K 285 

DIGITAL SERVICE 

Saskatoon, Saskatchewan S7J 3A9 

PUERTO RICO 

MICROCOMPUTER STORE 

Rio Piedras, PR 00921 

ENGLAND 

BYTE SHOP 

II lord. Essex 

INFOGUIDE 

London 

CYTEK 

Manchester M4 3E4 

PETSOFT 

Newbury. Berkshire RG13 1PB 

KEEN COMPUTERS 

Nottingham NG7 1FN 

T & V JOHNSON 

MICROCOMPUTERS 

Camberly. Surrey 

PETALECT 

Woking, Surrey 

J8J ELECTRONICS 

Bexhill-on-Sea. East Sussex 

OPTRONICS 

Twickenham TW1 4RY 

DENMARK 

MICRO SYS 

Copenhagen V1BYJ 

FRANCE 

SVEA 

Pans 75008 

GERMANY 

BECK COMPUTERS 

8 Munchen 70 

ING. W HOFACKER 

8 Munchen 75 

HOLLAND 

COMPUTRON 

Den Haag 2502 ER 

ITALY 

HOMIC MICROCOMPUTERS SRL 

20123 Milano 

SCOTLAND 

MICRO CENTRE 

Edinburgh EH3 5AA 

SINGAPORE 

THE COMPUTER CENTRE PTE 1TD 

Singapore 7 

SWEDEN 

MICROFUTURE 

Stockholm 10322 

SEMIDAKO 

Uppsala 75353 

SWITZERLAND 

INTERFACE TECHNIC 

Basel 

INGENIEUBUREAU 

Basel 1 

DIALOG COMPUTER 

Lucerne 

ELBATEX 

Wettmgen 



BYT! |une l<J79 



143 



1 INPUT "WIND, MPH: ",W 






2 PRINT "WHEEL ANGLE, DEGREES", 






3 PRINT TAB(25),"CAR DEVIATION, FEET" 






4 FOR J=1 TO 10 






5 PRINT %7F1," ",A*10, 






6 PRINT%7F1,TAB(25),I 






7 D=.05*W+A 






8 l=l+D 






9 A1=-2*(I+.8*D) 






10 A=A+.200*(A1-A) 






11 NEXT 






12 GOTO 1 






13 END 






RUN 






WIND, MPH: 20 






WHEELANGLE, DEGREES 


CAR DEVIATION, 


FEET 


.0 


.0 




-7.2 


1.0 




-11.8 


1.3 




-13.3 


1.1 




-12.7 


.8 




-11.3 


.5 




-10.1 


.4 




-9.5 


.4 




-9.4 


.4 




-9.6 


.5 




WIND, MPH: -30 






WHEELANGLE, DEGREES 


CAR DEVIATION, 


FEET 


-9.8 


.5 




8.0 


-2.0 




19.3 


-2.7 




23.1 


-2.2 




21.6 


-1.4 




18.3 


-.8 




15.4 


-.4 




13.8 


-.4 




13.6 


-.5 




14.0 


-.7 




WIND, MPH: 40 






WHEELANGLE, DEGREES 


CAR DEVIATION, 


FEET 


14.6 


-.8 




-10.1 


2.7 




-26.0 


3.7 




-31.2 


3.1 




-29.2 


2.0 




-24.6 


1.0 




-20.5 


.6 




-18.4 


.5 




-18.0 


.7 




-18.6 


.9 




WIND, MPH: -50 






WHEELANGLE, DEGREES 


CAR DEVIATION 


FEET 


-19.5 


1.0 




12.3 


-3.4 




32.6 


-4.7 




39.3 


-3.9 




36.8 


-2.5 




30.9 


-1.3 




25.7 


-.7 




22.9 


-.6 




22.4 


-.9 




23.2 


-1.1 





Listing 1: A rough simulation of Chip driving the car in a straight line. Each 
iteration is assumed to correspond to a fixed time interval. Therefore, the 
distance the car drifts away from straight line travel is the sum of the wind 
and steering wheel angle. The simulation shows Chip trying to arrive at the 
wheel angle which will counteract the force of the blowing wind. If you 
repetitively use the same wind value, you will see that a steady wheel angle 
is arrived at. [I found it interesting that this simulation seems to settle down 
within 60 time units to a consistent value. Even changing wind values from 
+1000 to —1000 units was compensated for within 60 time units — RGAC/ 



an integrator, and so puts a lag into the con- 
trol process. This alone would not cause a 
problem, but Chip also contains a transport 
lag; he cannot actually produce an output 
at' the same instant that the input occurs, 
nor can our program since it is evaluating 
equations one at a time. The integration lag 
we take care of by adding to the position I 
(which Chip senses) the variable D, which is 
approximately the first derivative of the in- 
put quantity. He senses the input quantity 
with some emphasis on its rate of change, 
which is actually a realistic model of human 
perception. This part of the stabilizing of 
the control action is done in step 9: 

9 A1 =K3* (I +0.8* D) 

We have computed a variable A1, the 
angle which the wheel would assume if Chip 
reacted instantly. But to handle the trans- 
port lag, we must slow his reponse, letting 
only a fraction K5 (between and 1) of it 
occur during any one iteration. That is what 
step 10 does: 

10 A = A+ K5* (A1 -A) 

This slowing technique will be used in 
the larger simulator next time. To see how it 
works, set A1 to 10.00, K5 to 0.25, and A 
to 0, and then simply keep doing step 10 
with pencil and paper. A will gradually 
approach the value of A1 from any starting 
point. 

The program in listing 1 asks for a wind 
velocity, and then proceeds to do ten itera- 
tions of the control loop, printing wheel 
angle A and car position deviation I each 
time. A positive number means the wind 
is blowing, the wheel is cocked, or the car 
has moved to the right. If you want to fol- 
low the program for more than ten itera- 
tions, give it the same wind again. It always 
starts where it left off. 

In part 2, we will begin exploring a model 
of the kind described in figure 4 and start 
the somewhat mind boggling task of retrain- 
ing the intuition to think in closed loop 
terms instead of straight through cause and 
effect. There is a big difference. We'll see 
that, in general, control systems control 
what they sense, not what they do. We'll 
discover something called a reference signal, 
which functions in a control system exactly 
the way an inner purpose has always been 
supposed to function. In part 2, we'll see 
how perception figures into control. And 
we'll start working with a more extended 
BASIC simulator than the tiny one in listing 
1 . Parts of this simulator will be suitable for 
building into the computer part of a robot, 
should anyone want to carry matters that 
far." 



144 



lune 1979 © BYTE Publications Inc 



Circle 97 on inquiry card. 



DIABLO PROVES 
LOOKS ARE EVERYTHING. 



With Diablo's printers and terminals, you can always be sure that beauty will be 
in the eyes bf the beholder. Because no one knows more about print wheel technology than 
the company that invented it in the first place. 

Diablos metal and plastic wheel printers have established industry standards for crisp, 
clear characters, proportional spacing, and uniform density. 

So, when you're ready to choose a printer for your own computer, pick the one that 
produces "picture perfect" originals eveiy time. 

If you really want to look good, remember this. With Diablo, you'll always look 
your best. • 1 1 

Diablo Systems 




/ 



f 







Visit us at Personal Computing Festival booths 16 & 17. 
Diabltfisa rwasterd trademark of XEROX CORPORATION. 



The 1802 Op Codes 



Henry Melton 

251 1 Dovemeadow Dr 

Austin TX 78744 



The RCA/Hughes 1802 is an 8 bit micro- 
processor with a small but growing following. 
Its ease of interface and low CMOS power 
requirements make it attractive for many 
small applications. The accompanying chart 
of op codes for the 1802 illustrates all 
of the 255 variations. I have used the 
RCA mnemonics. 

The 1802 is organized around sixteen 
16 bit registers. These can be used as pro- 



gram counters, index registers, subroutine 
pointers, and general data storage registers. 
The interrupt and direct memory access 
features of the 1802 also make use of 
specific registers for their operation. There 
is an 8 bit accumulator (D), and three 
1 bit flags: DF for the carry flag, IE for the 
interrupt enable flag, and Q for the direct 
output flag. There are also four 4 bit regis- 
ters: two to hold the current op code, one 



Branch and skip 



; 



— Input/output operations 

— Immediate operand instructions 








1 


2 


3 


4 


5 


6 


7 


8 


9 


A 


B 


c 


D 


E 


F 





IDL 

1 


LDN 1 
1 


LDN 2 
1 


LDN 3 
1 


LDN 4 
1 


LDN 5 
1 


LDN 6 

1 


LDN 7 
1 


LDN 8 
1 


LDN 9 
1 


LDN A 


LDN B 


LDN C 
1 


LDN D 
1 


LDN E 

1 


LDN F 
1 


1 


1NC0 
1 


INC 1 
1 


INC 2 

1 


INC 3 
1 


INC 4 

1 


INC 5 
1 


INC6 
1 


INC 7 
1 


INC 8 
1 


INC 9 
1 


INC A 

1 


INC B 

1 


INCC 

1 


INC D 

1 


INC E 
1 


INC F 
1 


2 


DECO 
1 


DEC 1 

1 


DEC 2 
1 


DEC 3 

1 


DEC 4 

1 


DEC 5 

1 


DEC 6 
1 


DEC 7 
1 


DECS 

1 


DEC 9 

1 


DEC A 

1 


DECB 

1 


DECC 

1 


DEC D 

1 


DEC E 

1 


DEC F 

1 


3 


BR 
2 


BQ 
2 


BZ 
2 


BDF.BPZ 
BFE 
2 


B1 
2 


82 
2 


B3 
2 


B4 
2 


NBR.SKP 
1 


BNO 
2 


BNZ 
2 


BNF.BM 
BL 
2 


BN1 
2 


BN2 
2 


BN3 
2 


BN4 
2 


4 


LDAO 

1 


LOA 1 
1 


LDA2 

1 


LDA3 

1 


LOA 4 
1 


LDA5 

1 


LDA6 
1 


LDA7 

1 


LDA8 

1 


LDA 9 

1 


LDA A 

1 


LDAB 

1 


LDA C 
1 


LDA D 

1 


LDA E 

1 


LDA F 

1 


5 


STR0 
1 


STR 1 


STR 2 


STR 3 

1 


STR 4 
1 


STR 5 
1 


STR 6 
1 


STR 7 
1 


STR 8 

1 


STR 9 
1 


STR A 
1 


STR B 

1 


STRC 

1 


STR D 
1 


STR E 
1 


STR F 
1 


6 


IRX 
1 


OUT 1 

1 


OUT 2 
1 


OUT 3 
1 


OUT 4 

1 


OUTS 
1 


OUT 6 


OUT 7 




IN 1 : 

1 ■;* 


IN 2 


IN 3 
1 


IN 4 
J 


INS 

1. •: 


IN 6 
1 


IN 7 
1 


i 7 
9 
h 


RET 
1 


DIS 
1 


LXDA 
1 


STXD 
1 


ADC 
1 


SDB 

1 


SHRC 

RSHC 

1 


SMB 
1 


SAV 

1 


MARK 

1 


REQ 


SEQ 

t ... 


ADCI '■; 


■SDBI ,\ 


SHLC 
RSHL 

1 


SMBI , 


b 
b 


GLOO 
1 


GL0 1 

1 


GL0 2 
1 


GL0 3 


GL0 4 

1 


GL0 5 

1 


GL0 6 
1 


GL0 7 
1 


GL0 8 

1 


GL0 9 

1 


GLO A 

1 


GLO B 

1 


GLOC 
1 


GLOD 
1 


GLO E 

1 


GLO F 
1 


b 9 


GHIO 

1 


GHI 1 
1 


GHI 2 

1 


GHI 3 
1 


GHI 4 
1 


GHI 5 

1 


GHI 6 

1 


GHI 7 
1 


GHI 8 

1 


GHI 9 

1 


GHI A 
1 


GHI B 
1 


GHI C 
1 


GHI D 
1 


GHI E 

1 


GHI F 
1 


A 


PLO0 
1 


PLO 1 
1 


PLO 2 
1 


PLO 3 

1 


PLO 4 
1 


PLO 5 
1 


PLO 6 
1 


PLO 7 
1 


PLO 8 
1 


PLO 9 

1 


PLO A 

1 


PLOB 
1 


PLOC 
1 


PLOD 

1 


PLO E 
1 


PLO F 
1 


B 


PHI 

1 


PHI 1 

1 


PHI 2 
1 


PHI 3 
1 


PHI 4 

1 


PHI 5 
1 


PHI 6 

1 


PHI 7 
1 


PHI 8 

1 


PHI 9 


PHI A 
1 


PHI B 

1 


PHI C 

1 


PHI D 
1 


PHI E 

1 


PHI F 
1 


c 


LBR 
3 


LBQ 
3 


LBZ 

3 


LBDF 
3 


NOP 
1 


LSNQ 
1 


LSNZ 
1 


LSNF 
1 


NLBR 

LSKP 

1 


LBNO 
3 


LBNZ 
3 


LBNF 
3 


LSIE 

1 


LSQ 
1 


LSZ 

1 


LSDF 

1 


D 


SEPO 
1 


SEP 1 
1 


SEP 2 

1 


SEP 3 

1 


SEP 4 
1 


SEP 5 
1 


SEP 6 
1 


SEP 7 
1 


SEP 8 


SEP 9 
1 


SEP A 

1 


SEPB 

1 


SEPC 
1 


SEPD 
1 


SEP E 
1 


SEP F 
1 


E 


SEXO 
1 


SEX 1 

1 


SEX 2 

1 


SEX 3 

1 


SEX 4 
1 


SEX 5 
1 


SEX6 

1 


SEX 7 
1 


SEX 8 

1 


SEX 9 
1 


SEX A 

1 


SEX B 

1 


SEXC 

1 


SEX D 
1 


SEX E 

1 


SEX F 
1 


F 


LDX 
1 


OR 

1 


AND 
1 


XOR 
1 


ADD 
1 


SD 
1 


SHR 

1 


SM 


SldiSSJS; 


OR, | 

■ 2 .'-: 


ANI 
1 


XRI < 
2 \v 


ADl ■: 
2 


V SDIN$S 
2^ 


SHL 

1 


SMI 
3 



Table 1: RCA/Hughes 1802 instruction set. The op codes and the number of bytes used by each are shown. 



146 June 1979 © BYTE Publications Inc 



to designate which of the R registers is the 
program counter, and one to designate 
which of the R registers is the index pointer. 
Lastly, there are four EF external pins that 
are sensed as conditional branch flags. 

11 commands make up the bulk of the 
1802 op codes. Each is 1 byte in length, 
with the first nybble designating the opera- 
tion, and the last nybble acting as a 4 bit 
immediate operand. They account for 175 
of the op codes (LDN does not operate on 
register 0) and allow data transfer to and 
from the R indexed memory, incrementing 
and decrementing the R registers, and 
setting the P and X registers. There are 
four major operations (hexadecimal 80 
through BF) that move bytes of data between 
the accumulator and the two halves of the 
16 bit registers. 

The arithmetic and logical operations 
use the accumulator with either the immedi- 
ate data or the indexed memory contents 
as the other operand. 

There are three types of branches. The 
short branch uses the immediately following 
byte as the next address in the local 256 
block of memory space. This is not a relative 
jump; the immediate data just replaces the 
low byte of the program counter. The long 
branch uses the two following bytes, high 
byte first, to construct the branching address. 
The skip instructions skip over following 
instructions if the tested condition is true. 
The short skip skips only one byte, but all 
the others skip over two bytes of code. 
Notice that the short branch instructions 
include the external flags as possible testable 
conditions, allowing quick direct serial input. 

There is also a set of I/O (input/output) 
instructions to transfer a byte to or from 
one of seven possible I/O ports. The external 
Q pin can be set or reset to give quick direct 
serial output. 

The SAV, MARK, RET, and DIS instruc- 
tions can be used to implement recoverable 
interrupt and nested subroutines by using 
a stack in memory. 

The last instructions are NOP and IDL. 
The IDL instruction places the machine on 
hold until an interrupt or direct memory 
access request occurs. 

The 1802 is a well-designed computer 
package, and CMOS is the technique in 
battery powered applications." 







AMILY OF DISK 



FOR THE TRS Ipn 




We are the first manufacturer to offer 
you a complete family of add-on disk 
drives for your TRS-80. Select from 
single head or dual head Units. Each 
comes complete with Power Supply 
and Chassis. 

n M 



SINGLE HEAD DRIVES 

TF-1X Choose Pertec FD-200 or MPI $379 

TF-3 Shugart SA 400 $389 

DUAL HEAD DRIVE 

TDH-2 Dual Headed minifloppy, includescable $699 

CABLES 
TFC-2 two drive cable $25, TFC-4 four drive cable $35 



TRS-80 PERIPHERALS & SUPPLIES 



PRINTERS 

LP779TR Centronics Model 779 with tractors $1179 

LP1 Centronics Model P1 $399 

Integral Data w/tract. $949 

Cables (Centronics) $39 

MEMORY 

16KM 16K RAM Kit $74 

NEW PRODUCTS 

AC-1 A.C. Line Interference Eliminator $18.95 

NKP Numeric 16-Key Pad Kit $68 

TRS-80 Disk $169 

Small system RS232 $49 

DISKETTES 

VERBATIM 5" Soft sector $3.59 



TRS-80 SOFTWARE 



BRAND NEW DOS + 

With utilities 
Accounts Receivable 
Inventory Control 
Job Entry/Status 



Special tgc 
Intro Price a,ao 

$39 
$39 
$75 



SEND FOR FREE PRODUCT CATALOG 

BUY IT ALL... HARDWARE/SOFTWARE... FROM 
ONE SOURCE -TWO LOCATIONS TO SERVE YOU 



APPARAT, INC. 

6000 E. Evans Ave. Bldg. 
Denver. CO. 80222 

303-758-7275 



MICROCOMPUTER 
TECHNOLOGY INC. 

2080 S. Grand Ave. 
Santa Ana. CA. 92705 

714-979-9923 



ORDERING INFORMATION: Cash, check. Money Order or Credit Card (MC or VISA). COD'S 
require 20% deposit. Orders will be piocessed and shipped within 3 10 1 days ol receipt ol order Customers 
will Pc notified of any delay ovei 30 days. 



Circle 217 on inquiry card. 



lune 1979 © BYTE Publications Inc 



147 



The History of Com putin g 

The IBM 7070 




IBM 7070s undergoing 
final checkout before shipment. 



An IBM 7070 operator's console. 





A typical IBM 7070 

configuration. The engineering console 

(for repair diagnostic information) is in the table in the foreground. 



148 lune 1979 © BYTE Publications Inc 



The second computer generation is 
said to have begun with the advent of 
the transistor. An equally important ad- 
vance was the realization that most pro- 
grammers would soon be programming 
not in symbolic machine language but in 
machine independent high level lan- 
guages. This led hardware designers to 
build instructions that simplified com- 
piling of programs, such as editing, table 
lookup and string scanning instructions. 
Some of these instructions are found in 
the IBM 7070, announced in 1959. 

The 7070, like the 650, was built 
around a 10 digit signed decimal word. 
Signs and digits were stored in a two-out- 
of-f ive code; five bits were used to repre- 
sent a digit, of which exactly two were 
"on". The five bits were assigned values 
of 0,1,2,3 and 6, so a little fudging had to 
be followed in order to represent 0. 
Since 3 can be represented two ways, 0-3 
or 1-2, the former was used as the value 
for 3 and the latter for 0. Alphabetic 
characters were represented by digit 
pairs; hence, only five letters could be 
stored in a word. To distinguish between 
alphabetic and numeric representation, 
three signs were allowed: + , — , and @, 
represented by the codes for 9, 6, and 3, 
respectively. 

Two memory sizes, 5,000 and 9,990 
words, were available. The larger size 
could have been 10,000 words, but ad- 
dresses 9991-9999 referred to addres- 
sable registers, including three ac- 
cumulators. The small memory size was 
seen as a drawback, but a remarkably 
powerful instruction set tended to offset 
this problem. The 7070 might have been 
the start of a new decimal based family 
of computers if IBM had added a 
memory paging feature to allow for ex- 
pansion. 

The instruction format used the sign 
and first two digits as an operation code, 
two digits for an indexing address, two 
digits for field definition or instruction 
augmentation, and four digits for an ad- 
dress. Hence, 200 different instruction 
types and 99 index words were possible. 
In fact, 190 instructions were imple- 
mented, and memory locations 0001 
through 0099 could be used as index 
"registers." Field definition allowed 
arithmetic to be performed on parts of 
words. If field definition 58 was speci- 
fied in an ADD instruction, the contents 
of digit positions 5 thru 8 of the address- 
ed value would be added to the speci- 
fied accumulator. 

I/O (input/output) units did not look 
much different from first generation 
equipment, but in fact embodied several 



significant improvements. Magnetic 
tape units could read and write in low 
(200 bits per inch) or high density (556 
bits per inch). Data channels allowed 
overlap of data transfer and processing, 
and a priority I/O scheme allowed for 
simultaneous peripheral operation on 
line — spooling, as it is still called. The 
idea behind spooling is that punched 
cards may be read and lines printed dur- 
ing times when the machine is simul- 
taneously doing something else. The 
main program gets and puts records on a 
faster medium, such as a disk, and is 
therefore not forced to wait for the 
relatively slow card reader or printer. 

File handling capability on the 7070 
was very sophisticated due to a feature 
called block transmission. A record 
could be read into several noncon- 
tiguous blocks of memory under control 
of RDWs (record definition words). The 
programmer specified in a tape read in- 
struction the unit number of the tape to 
be read and the address of the first of a 
sequence of one or more record defini- 
tion words. Each definition contained 
the starting and ending address of a 
block (set of consecutive words) into 
which data was to be read. Each record 
definition word in the sequence had a 
positive sign except the last one, which 
was negative. If the physical record end- 
ed before all definitions were exhausted, 
the remaining were ignored. If the last 
record definition word was exhausted 
before the end of the record was reach- 
ed, the remaining data were not transfer- 
red into memory. When a record was 
written, record definition words were 
similarly used to gather data from 
various parts of memory without actual- 
ly transferring them into one contiguous 
memory block. 

Variable length records could also be 
handled easily through use of a tape 
read per record mark control instruction. 
A record mark was a special character 
having the keypunch code 0-2-8, which 
was written as a not equal sign (=£). 
When the tape was read under record 
mark control, the normal sequence of 
data transmission to storage via record 
definition words was followed until a 
record mark was read. This caused the 
7070 to cease transmission of data to the 
block specified by the current definition 
and to move on to the next. 

For example, suppose a tape record 
contained: 

ABCDEFGHI*JKLM*NOPQR 

and a tape read per record mark control 



Keith S Reid-Green 

Member of Technical Staff 

RCA, David Sarnoff Research Center 

Princeton NJ 08540 



June 1979 © BYTE Publications Inc 149 



Up Your 
Output. 



TEMPOS 



MULTI-TASKING! 

The TEMPOS Operating System is quickly becoming the standard in Multi- 
User, Multi-Tasking operating systems for 8080 and Z80 microcomputers. 
Multi-Tasking means that, even with only one user at one terminal, more 
than one job can be running on the system simultaneously! If you have ever 
had to go get a cup of coffee while you wait for your computer to print list- 
ings, you know the advantages of a system that will handle one job while 
you are working on another. TEMPOS is a true time sharing system, and 
the maximum number of jobs is limited only by your memory. 

MULTI-USER! 

Want to share your computer with another user? With TEMPOS all it takes 
is another terminal ... up to seven interactive terminals are allowed! And 
with Re-Entrant programs, each user does not need a complete copy in 
memory. We include three Re-Entrant programs (the OPUS/THREE High- 
Level Language, the TEXTED Text Editor, and FILES, a disc file 
directory/manipulator) or write your own! In addition, we include an 
assembler, a linking loader, over a half-dozen other utility programs and 
over 60 system subroutines, callable by the programmer! 

PROVEN! 

With TEMPOS, you get a package that has been tested in our facilities for 
over two years, and in the field at over 50 different installations. We have 
used this system ourselves for everything from writing high-level languages 
to developing applications to text editing to games. TEMPOS is undoubted- 
ly the most flexible software tool on the market . . . and you can have it for 
much less than you think! 

COMPATIBLE! 

TEMPOS is available for many different systems; pre-written drivers may 
include yours. Or, using our interactive System Generation Routine, you 
can add your own. Call or write noixi for our free catalog and the name of a 
dealer near you. The TEMPOS Operating System is available for $787.00, 
the manual set (price may be credited toward the purchase of the TEMPOS 
package) for $21.50 (prices include shipping within the U.S.). 

ADMINISTRATIVE 
□□SYSTEMS 
□□□INC 
□□ 

1642 S. Parker Road, Suite 300, Denver, Colorado 80231 
(303) 755-9694 



instruction referred to the record defini- 
tion words: 



+ 0010001005 
+ 0014601480 
-0019992999 



words 1000 thru 1005 
words 1460 thru 1480 
words 1999 thru 2999, 



ABCDE would be read into location 
1000, FGHI into 1001, JKLM into 1460 
and NOPQR into 1999. 

A major problem arose because of the 
special nature of alphabetic data. In 
first generation computers, conventions 
had been established regarding coding 
of alphabetic characters on tape, and 
these conventions were carried on into 
the 7070. Some means of differentiating 
between alphabetic and numeric data 
had to be established, however, since 
the old-fashioned "overpunched" 
numeric sign used in unit-record equip- 
ment and early computers could not 
always be distinguished from alphabetic 
characters. This problem was resolved 
on the 7070 by assuming that a tape was 
alphabetic until a delta character was 
read, whereupon the delta was not 
transferred into memory, but served in- 
stead to change the mode of data 
transfer to numeric. The next delta 
flipped the mode back to alphabetic, 
and so on. A delta on the seven track 
BCD (binary coded decimal) tape (in 
which the tracks were labeled CBA8421) 
consisted of the CB8421 bits. Thus the 
three words: 

+ 0123443210 
-5678998765 
©7461796368 

would be written on tape as A01234- 
432105678998765AMARCH. When re- 
read into a 7070, a perfect translation 
took place back into the three words 
shown above. However, when read into 
any other computer, the delta char- 
acters transferred into memory, giving 
IBM 1401 programmers considerable an- 
noyance. Nevertheless, it is safe to say 
that the 7070 represented a very large 
step between first generation and 
modern computers. Most apparent 
among the second generation refine- 
ments was the recognition that com- 
puters did not have to be classified as 
commercial or scientific machines but 
in fact could be used to solve problems 
in both of the disciplines. On the one 
hand, the record definition word con- 
cept made sorting extremely fast, while 
hardware implemented floating point in- 
structions were available for calcula- 
tion. ■ 



150 



June 1979 © BYTE Publications Inc 



Circle 2 on inquiry card. 







A LOT l£S$ THAN YOU EXPECT. 



Less Cost 



Less Hassle 



The INFO 2000 Disk System eliminates the "I/O configura- 
tion blues" by incorporating all necessary interface ports. A 
CP/M Loader and all I/O drivers are contained in EPROM so 
there is no need for special software customization. Just 
plug the system into your S-100 microcomputer and begin 
immediate operation using the CP/M disk operating system. 
The INFO 2000 Disk System is supported by the most exten- 
sive library of software available, including 3 different BASICs, 
2 ANSI FORTRAN IVs, several assemblers, text editors, de- 
bugging tools, utilities and numerous applications packages. 



Less 
Errors 

This disk system uses full 
size 8" diskettes and stan- 
dard IBM 3740 recording 
format. So you're assured 
superior protection against 
errors, and full inter- 
changeability with other 
CP/M-based systems. 



The DISCOMEM Controller board costs us less to 
manufacture. So your complete INFO 2000 Disk 
System costs you less - at least $400 less than com- 
perable disk systems. 

Less Hardware 

Only three S-100 boards are needed to create a com- 
plete, high-performance disk-based microcomputer 
system-the DISCOMEM Controller Board, a 32K 
memory board, and any 8080, 8085 or Z80 CPU 
board. You don't need extra interface or EPROM 
boards since DISCOMEM contains 2 serial ports, 3 
parallel ports and provision for 7K of EPROM and IK 
of RAM. 



LessTime 

The INFO 2000 Disk Sys- 
tem is incredibly fast! Using 
the PerSci Drives with voice 
coil positioning, disk seek 
times are up to 8 times fast- 
er than with other drives. 
A full disk-to-disk copy and 
verification takes well under 
a minute. Formatting and 
verifying a new diskette 
takes less than half a min- 
ute. Reloading CP/M* from 
diskette takes a fraction of a 
second. 

Less Space 

The system is remarkably 
compact, requiring only 
1/2 to 1/3 the space taken 
by other 2-drive disk sys- 
tems. 

It all adds up to more capability for 
your money. 

The complete INFO 2000 Disk System comes completely assembled and tested. It includes dual " 
diskette drives, the DISCOMEM Controller, power supply, cabinet, cables and the CP/M disk 
operating system — everything you need for immediate plug-in-and-go operation with your 
microcomputer. This means less time, hassle, hardware, space, errors and less money than for 
comparable equipment. Now, isn't that a lot less than you'd expected in a dual disk system? 
INFO 2000 Disk Systems are also available for Digital Group and Heath H8 microcomputers. 
Dealer inquiries welcomed. 

t CP/M is a registered trademark of Digital Research. 'Extra cost option. 

Circle 173 on inquiry card. 




CORPORATION 

206 20 South Leapwood Avenue 
Carson. California <?074<S 

(213) 532-1702 

BY 1 1 lane 1979 



151 



Artificial Intelligence 

and Entropy 



R M Kiehn 
Physics Dept 
University of Houston 
Houston TX 77004 



Although this article is written with a 
sense of science fiction creativity and 
speculation, the concepts involved are based 
on sound ideas that recently won for llya 
Prigogine the 1977 Nobel prize (see refer- 
ence 1). No longer can it be said that the 
laws of thermodynamics prohibit the 
creation of artificial intelligence. 

Computer intelligence has long been a 
hazy dream in many enthusiasts' eyes, but 
so often that gleam has been glazed over by 
a rational response from the scientific com- 
munity: "You can get out of any computer 
only what you put in. The computer, after 
all, has to be told what to do. It can't think." 

These valid scientific arguments are 
based, essentially, on the laws of thermo- 
dynamics, especially the second law, con- 
cerning entropy. The second law says in 
effect that for all (isolated) systems at or 
near equilibrium, any process will have a 
tendency to increase the system's entropy. 

Shannon has developed the idea that 
entropy is related to the inverse of informa- 
tion (see reference 2); so as entropy goes up, 
information goes down. The second law of 
thermodynamics seems to demand that this 
decrease in information shall always happen 
for mechanical or electrical machines. 

The conclusion that machines will never 
be capable of thinking seems irrefutable. 

But man is a biological machine, and yet 
he thinks. How can these two seemingly 
contradictory ideas be reconciled with the 
second law? One of the greatest scientific 
puzzles of the last century was that the idea 
of a thinking biological machine cannot be 
brought into accord with the laws of equilib- 
rium thermodynamics! The paradox stands. 

The brilliance of I Prigogine lay in his 
recognition that another regime far from 
local thermodynamic equilibrium may exist 
for complex interacting systems. Exactly 
what this new regime is all about took many 



years of study to formulate and understand, 
but in the last two years the verification of 
this new thermodynamic concept has been 
achieved by a small but convincing number 
of chemical experiments (see reference 3). 
Simply, the new thermodynamic regime is a 
regime far from equilibrium where semi- 
steady state modes of collective interactions 
can self-organize in complex systems. In this 
collective mode of self-organization, far 
from thermodynamic equilibrium, the 
entropy of the system drops dramatically; 
the information content rises. The increasing 
entropy dictum of the second law is no 
longer valid because the system is not in 
equilibrium. 

The key features of systems that can 
support such entropy-decreasing modes are 
that: 

1. They are not isolated systems: they 
draw energy and material from their 
surroundings: that is, they feed. 

2. They are complex systems of many 
interacting parts, and the interactions 
must be nonlinear. 

These conditions seem to be necessary 
but not sufficient. A complex system that 
has these properties need not self-organize 
into an entropy decreasing mode, but if 
these conditions are met, the low entropy 
modes are now scientifically recognized 
possibilities. 

Theoretical models of complex chemical 
systems have indicated that the minimum 
number of subparts that will form a collec- 
tive mode far from equilibrium is measured 
in the thousands. This result is striking; it 
could have been that it would take statisti- 
cally large mole numbers (10") of parts to 
form self-organized systems, but no, it 
appears that thousands, or a few tens of 
thousands, of subsystems interacting non- 
linearily can, for certain ranges of parame- 
ters, flip into self-organized modes of 
decreasing entropy. 

For the first time, thermodynamics 
(albeit of the nonequilibrium variety) can 
be used to substantiate entropy decreasing 
modes, biological systems, and thinking 
machines! Using these ideas as a basis, it is 
conceivable that a collection of subsystem 
computers linked together nonlinearly 
could, for certain ranges of coupling parame- 
ters, self-organize into a collective mode of 
operation in which the entropy of the 
complex system decreases. 

The gleam in the young experimenter's 
eye need not be glazed over and extinguished 
by a thermodynamic "it's impossible" 
argument. The loophole in the law has been 
discovered. 



1 52 June 1979 © BYTE Publications Inc 



A few years ago such a project would 
have been economically impossible, but now 
with the advent of cheap small volume 
microprocessors it is conceivable that, say, 
ten thousand computer subsystems could be 
assembled and linked together in one com- 
plex. Moreover, following the theoretical 
advances pioneered by I Prigogine, such a 
complex might be arranged to operate in a 
collective mode far from equilibrium in 
which the entropy content drops dramati- 
cally, the information content skyrockets, 
and the idea of artificial intelligence need no 
longer be squashed by thermodynamic 
dictum. It indeed may be possible to create a 
thinking machine. 



REFERENCES 

1. C Nicolis and I Prigogine, Self-Organization in 
Non-Equilibrium Systems, John Wiley & Sons, 
New York, 1977. 

2. C E Shannon and W Weaver, 777e Mathematical 
Theory of Communication, University of 
Illinois Press, 1949. 

3. J S Turner, Journal of Physical Chemistry (to 
be published!. 

4. H Haken, Synergetics, Springer-Verlag, Berlin, 
1977. 



Appendix: Collective Mode Systems of Low Entropy 



After I submitted the above article to 
BYTE, editor Carl Helmers asked if I could 
provide a tutorial example explaining the 
ideas of a collective mode system with low 
entropy. Perhaps the most striking example 
of such a system is given by the laser (see 
reference 4). 

The typical laser consists of an optical 
cavity, a set of atoms — such as He-Ne— 
connected to the outside world by means of 
a power supply. Energy flows continually 
into (and out of) the system so it cannot be 
considered to be isolated. If the system gain 
parameter is below a critical value, the gas 
atoms may be excited by the energy source 
and subsequently release their excess excita- 
tion energy through the emission of 
photons. The photons all have random 
phase, ie: the emission of photons by the 
various atoms in the gas is random, and not 
coherent. The system has a high entropy 
content associated with the disorder and the 
random emission of photons. The system 
does reach a steady state, not a collective 
mode state, and not a state of equilibrium, 
because it continually receives energy across 
its boundary. 

If the gain parameter of the system is 
slowly increased to above the critical value, 
a dramatic transition takes place — far from 
equilibrium. The system lases, ie: the gas 
atoms no longer emit the photons in a 
random manner, but instead they de-excite 
in a coherent collective mode. The emission 
of one photon from one atom stimulates the 
emission of another photon from another 
atom, and so on. The photons are emitted 
with the same phase; disorder has been 
removed, and the system entropy drops 
dramatically. 



HIGH ENTROPY- 



ENERGY 

INPUT 



jtKA 



t( 



I s 



W»' ->" 



RANDOM PHOTONS - 



Figure I : The He-Ne discharge glows in a disordered random fashion. The 
emission of photons is random, disordered and associated with the notion of 
high entropy. 



LOW ENTROPY 



ENERGY 

INPUT 




J 



I 



V He - Nf 



PHASE LOCKEO PHOTONS 




Figure 2. For the system "gain" above the critical value losing action takes 
place in the He-Ne gas. The radiation is phase locked into a collective mode 
associated with low entropy. 



June 1979 © BYTE Publications Inc 153 



Circle 95 on inquiry card. 




CP/M™ 

LOW-COST 

MICROCOMPUTER 

SOFTWARE 



CP/M™ OPERATING SYSTEM: 

• Includes Editor, Assembler, Debugger and Utilities. 

• For 8080, Z80, or Intel MDS. 

• For IBM-compatible floppy discs. 

• S100-Diskette and Documentation. 

• $25-Documentation (Set of 6 manuals) only. 

MAC™ MACRO ASSEMBLER: 

• Compatible with new Intel macro standard. 

• Complete guide to macro applications. 

• $90-Diskette and Manual. 

SID™ SYMBOLIC DEBUGGER: 

• Symbolic memory reference. 

• Built-in assembler/disassembler. 

• S75-Diskette and Manual. 

TEX™ TEXT FORMATTER: 

• Powerful text formatting capabilities. 

• Text prepared using CP/M Editor. 

• $75 Diskette and Manual. 



U DJGJTflL RESEARCH 

P.O. Box 579 • Pacific Grove, California 93950 
(408) 649-3896 



The notions of disorder and randomness 
are concepts associated with the notion of 
entropy. The decrease of the laser's entropy 
is due to lack of disorder in the lasing state. 

These ideas are described in figures 1 and 
2. Figure 1 represents a laser being supplied 
with energy from the power source, but with 
the gain of the cavity below the critical 
value. The photon emission is random and 
the system has high entropy. 

On the other hand in figure 2 the gain 
factor of the system is above the critical 
value and the system has flipped into a low 
entropy collective mode emitting highly 
ordered radiation. The atoms radiate collec- 
tively. 

The almost incredible feature of many 
complex systems interacting nonlinearly is 
that they may self-organize into these low 
entropy modes. In particular, biological 
systems appear to be of this type. Numerous 
examples of collective mode systems appear 
in the physical world, but most of them 
occur at low temperature; super conductors 
and super fluids are examples. The self- 
organization into collective modes far from 
equilibrium at modest to high temperatures 
is yet another idea." 



RADIO SHACK COMPUTER OWNERS 



TRS80 



PRACTICAL APPLICATIONS 
BUSINESS 

GAMBLING • GAMES 
EDUCATION 
PERSONAL FINANCE 
BEGINNER'S CORNER 
NEW PRODUCTS 
SOFTWARE EXCHANGE 
MARKET PLACE 
QUESTIONS AND ANSWERS 
PROGRAM PRINTOUTS 
AND MORE 



MONTHLY 
NEWSLETTER 



24 

HOUR ORDER LINE 

(914) 425-1535 




^ 



F R 



AV 



WORD PROCESSING PROGRAM 

(Cassette or Disk) 

For Writing Letters, Text, Mailing Lists, Files, Etc. 
With Each New Subscriptions or Renewal 



iCQMRJTRQNXCS- 



NWVWVtATlCAl. APPUCAnCTJG ser^cE" 



Box 149 



New City, New York 10956 



ONE YEAR SUBSCRIPTION $24 

TWO YEAR SUBSCRIPTION $48 

SAMPLE OF LATEST ISSUE $4 

START MY SUBSCRIPTION WITH ISSUE 

(#1 - July 1978 • #7 - January 1979) 
NEW SUBSCRIPTION RENEWAL. 



CREDIT CARD 
NUMBER 



EXP. DATE 



SIGNATURE 
NAME 



ADDRESS 



Send for FREE Software Catalogue (Including listings of hundreds 
of TRS-80 programs available on cassette and diskette). 



154 



lune I979 @ HYTI- Publications Inc 



Circle 159 on inquiry card. 



INTRODUCING THE .4 MEGABYTE 
DUAL DRIVE MINIFLOPPY FOR 8K PETS! 



NOW WITH 

400K (.4 MEGABYTES) 

OF DISK STORAGE 




CUSTOMER ORDERS 
ARE NOW BEING 
SHIPPED WITHIN 
TEN DAYS!!! 

DKH641 IS A PRODUCT OF COMPUTHINK. 



• DUAL MINI FLOPPY DRIVE WITH 100K PER DISK SIDE FOR TOTAL 200K ON LINE. 

• COMMERCIAL LOADING SPEEDS ■ 8K LOADS IN 2.6 SECONDS COMPLETE. 

• DOS REORGANIZES SPACE AFTER SAVE OR ERASE FOR EFFICIENT STORAGE. 

■ DISKMON ADDS OVER 20 COMMANDS TO BASIC INCLUDING DISK DATA FILES. 

• DISKMON COMMANDS SUPPORT COMMERCIAL PRINTER OFF PARALLEL PORT 
SUCH AS CENTRONICS LINE OF PRINTERS (AVAILABLE FROM NEECO) 

■ FULL DISK SOFTWARE SUPPORT ' FORTRAN & PLM COMPILERS - 

• 90 DAY MANUFACTURER'S WARRANTY ON HARDWARE ' READY TO USE ON 
DELIVERY. FULL MANUAL AND UTILITY DISKETTE INCLUDED. 

• CALL OR WRITE FOR COMPLETE INFORMATION ON THE "DISKDRIVER". 
' THIS SYSTEM REQUIRES EXPANDAPET MEMORY (MINIMUM 16K) 

DKH642 -DUAL DRIVE SYSTEM, COMPLETE WITH DISKMON $1295.00 

ASM789D — PET ASSEMBLER ON DISKETTE WITH MANUAL $49.95 

•LNK456 -AUTOLINK LINKING LOADER ON DISKETTE WITH MANUAL $49.95 

"PLM400 —COMPILER ON DISKETTE (AVAILABLE JUNE) $250.00 

DKL067 — DISKMON ASSEMBLER LISTING/DOS $19.95 

DATA100 — COMPLETE DATA BASE SYSTEM (PRICE APPROXIMATE) $400.00 

BASCOMP— BASIC COMPILER ON DISKETTE 

NGP200 - 20 GAMES ON DISKETTES $49.95 

BKGAM — BACKGAMMON ON DISKETTE $24.95 

MICRO - MICROCHESS ON DISKETTE $24.95 

CEN7790) - CENTRONICS 779-1, ROLL FEED DOT MATRIX 

COMMERCIAL PRINTER $1245.00 

CEN779(2) - SAME AS 779(1) BUT WITHTRACTOR FEED — PLUG INTO PET ... . $1345.00 
AX10M — ELECTROSTATIC5.5INCHPRINTERWITHALLOFPETSGRAPHICS $495.00 



PET COMPUTER 



WHY NOT BUY FROM THE BEST? 



NEECO 
NOW OFFERS 
A FULL ONE 
YEAR 

WARRANTY 
ON ALL 
PETS! - AN 
ADDITIONAL 
9 MONTHS! 




by 
COMMODORE 



8K PET $ 795 

24KPET( B+ 16K) $1195 
32K PET( 8 + 24K) $1295 

THE ABOVE PRICES INCLUDE 

THE INSTALLATION AND 

TESTING OF INTERNAL 

MEMORY BOARDS. 



* NEECO IS A CUSTOMER ORIENTED. FULL SERVICE COMPANY. 

* PETS RECEIVE 48 HR. 'BURNIN' BY NEECO BEFORE SHIPMENT. 

* FULL CUSTOMER SERVICE AND FULL PRODUCT SUPPORT. 

* 48 HR MAXIMUM TURNAROUND' ON PET WARRANTY 
SERVICE ON PETS PURCHASED FROM NEECO. 

* FULL PREPURCHASE INFO AVAILABLE FROM OUR PET INFO 
PACKAGE — WE ANSWER CUSTOMER QUESTIONS! 

* AUTOMATIC SOFTWARE/HARDWARE UPDATES VIA OUR PET 
OWNERS MAILING LIST — CALL/WRITE TO BE LISTED! 

* COMMERCIAL QUANTITIES AVAILABLE. 

* WE ALSO MARKET REPLACEMENT RAMS & ROMS, ETC. 

* OFF THE SHELF DELIVERIES (NO DEPOSIT REQUIRED). 

SCHOOL INQUIRIES INVITED! 



INTERNAL MEMORY i IFULLSIZED TYPEWRITER 
EXPANSION FOR PETll KEYBOARD FOR PET! 



EXPANDAPET 



TM 




DEALER INQUIRIES 
INVITED 



INTERNAL MEMORY 

EXPANSION UNIT 

FOR 8K PETS 

•MOUNTS EASILY INSIDE YOUR PET 
•EASY TO INSTALL (15 MINUTES) 
•NO DEGRADATION OF PET SYSTEM 
•USES LOW POWER DYNAMIC RAMS 
•90 DAY PART&LABOR, 1 YR-RAMS. 
•30 DAY MONEY BACK GUARANTEE. 
•MOUNTING SLOTS FOR 4 BOARDS. 
'CALL/WRITE FOR ADDITIONAL INFO 
•DEALER INQUIRES INVITED. 

EXPANDAPET PRICES 

16K( + 8KPET = 24K) $425 
24K ( + 8K PET = 32K) $525 
32K ( + 8KPET = 40K) $615 



OPTIONAL PLUG-IN BOARDS 32K UNIT ALLOWS" 8K OF 
4K EPROM DAUGHTER BOARD ASSEMBLY LANGUAGE 
USING 2716 EPROMS .. .. $50 SUBROUTINES ACCESSED 

VIA THE USR COMMAND. 

EXPANDAPET IS A PRODUCT OF COMPUTHINK. 




•COMMERCIAL QUALITY KEYBOARD WITH METAL ENCLOSURE. 
•BASIC TYPEWRITER DESIGN FOR TOUCHTYPISTS. 
•SINGLE KEY FUNCTIONS FOR ALL CURSOR CONTROLS. 
SHIFT/RUN, INSERT, CLEAR SCREEN/HOME CURSOR, MORE. 
•FUNCTIONS SIMULTANEOUSLY WITH PET'S KEYBOARD. 
•PLUGS DIRECTLY INTO PET'S LOGIC BOARD. 
•DOES NOT USE USER OR IEEE-488 PORTS. 
•NPK-101 IS FULLY TESTED & READY TO USE. 
•ATTACHES DIRECTLY TO FRONT OF PET'S FRAME. 
•CAN BE USED AS A REMOTE TERMINAL (SPECIAL ORDER). 
•30 DAYS TRIAL PERIOD ' 90 DAY WARRANTY. 
•CALL OR WRITE FOR FULL SPECS 



NOW 
AVAILABLE! 



$139. 95 



NPK-101 IS A PRODUCT OF NEW ENGLAND ELECTRONICS. 



OUR NEW JUNE PET CATALOG IS NOW AVAILABLE. 
CALL OR WRITE FOR OUR *FREE* PET PRODUCTS CATALOG. 



I DOMESTIC & OVERSEAS DEALER INQUIRIES INVITED ON * MEMORY * KEYBOARD * FLOPPY 



NEECO 



NEW ENGLAND ELECTRONICS CO., INC. 

679 HIGHLAND AVE., NEEDHAM, MASS. 02194 
MON. - FRI. 9:30 - 5:30, EST. 



(617) 449-1760 

MASTERCHARGE OR VISA ACCEPTED 
TELEX NUMBER 951021, NEECO 



Circle 281 on inquiry card. 



BYTE June 1979 



155 



BASIC Text Editor 



Fred R Ruckdeschel 
773 John Glenn Blvd 
Webster NY 14580 



Like many an individual who uses com- 
puters at work and for personal purposes, I 
have a tendency to write. At work, this 
tendency is expressed in the usual ways as 
memos, project oriented documentation 
and more general papers. In personal life, 
this tendency is expressed by the existence 
of this article and several others which 
preceded it. 

After some considerable chicken scratch- 
ing it became apparent that my method for 
collecting ideas and creating a final manu- 
script was not optimum. The problem 
became clearly defined when one day I 
looked up from my note pad only to see my 
IMSAI arrogantly sleeping while I worked. 

The literary approach I had been using 
was reasonably conventional. First in the 
procedure was the generation of an outline 
which contained ideas organized by section. 
Then a handwritten rough draft was com- 
posed in which these thoughts were struc- 
tured within each section and expanded 
upon. The draft was then reviewed and 
changes made until legibility was threat- 
ened. If the writing had been for "work" 
the next step would have been to have the 
draft retyped. However, as writing for 
microcomputer journals is a private pursuit, 
a paid typist is used sparingly. 

The next step was therefore to go back 
through the draft and reedit, being very care- 
ful with es and is, and then to give it to the 
typist for final preparation. The typist's job 
was to take the grubby and somewhat illegi- 
ble pile of paper and transform it into a 
nicely typed manuscript suitable for submis- 
sion. However, the last step was invariably 
one of carefully applying correction fluid, 
scissors and tape in the proper proportions 
to assemble a truly final version. Usually the 
alterations were due to my own errors, 
though my excellent typist often adds a few 
variations as part of her own editing contri- 
bution. As a result, I have never sent an 
original to an editor, always a copy which 
hid the horrors of the manuscript's creation. 
After all, what editor wants flakes of dried 
correction fluid sprinkled on his or her 
clothes and desk? 

A few further considerations convinced 
me that it was time to make a change. First, 



I cannot stand reading my own handwriting. 
Second, I can type much faster than I can 
write. Third, it was a convenient time to de- 
sign an editing system. The reason for the 
latter was that 1 had a video display, IMSAI 
and North Star disk combination at home 
and a very nice Diablo printer, Altair 8800B 
and North Star disk setup available at work. 
Thus there was basic compatibility between 
the two systems via the floppy diskette. I 
had taken care to assure that the two sys- 
tems were software compatible, particularly 
with respect to 10. 

The general idea was to use my personal 
system to compose and edit versions of a 
manuscript and then to bring the finished 
form, on diskette, to work to be printed out 
on the Diablo. In practice it turned out to be 
more convenient to have listings of the vari- 
ous versions to work from. This made 
the iterations much easier. There is no re- 
placement for hard copy when writing either 
a program or an article. 

One of the goals established for the even- 
tual editor software was that it should not 
be unique to my particular hardware con- 
figuration. Rather it was to be translatable 
to other systems with a minimum of change. 
For this reason BASIC was chosen as the 
implementation language, though machine 
language would have led to a much better 
utilization of memory as well as higher 
speed. The particular BASIC used was North 
Star, Version 6, Release 3. This interpreter 
has string manipulation functions which are 
very convenient for developing editing rou- 
tines. These functions can also be translated 
into counterparts a la Microsoft BASIC. This 
will be discussed more later. 

Text editors naturally require significant 
computer storage capabilities. The one 
shown in listing 1 is no exception. For those 
who have disk based systems other than 
North Star, the conversion of this program 
for use with another system would be 
through changes in the disk access subrou- 
tines which are clearly defined on the listing. 
For those who do not have disk hardware, 
but rather cassette 10, storage and retrieval 
can also be accomplished through the disk 
access subroutines after the appropriate 
modifications are made. 

The program also has the ability to auto- 
matically save and retrieve the text from 
active memory. This is presently not in ef- 
fect in the version shown in listing 1, but 
can be brought to life by removing state- 
ments 2000 and 2100. This feature is useful 
if the computer is a little unstable and has a 
tendency to crash; at least the latest text 
version might be saved in a protected mem- 
ory region if the program did not get as far 
as saving the text on diskette or tape. The 



156 June 1979 © BYTE Publications Inc 




THE LEADER IN 
miCROCOmPUTER EDUCATION 



PRESENTS 



BEST-SELLING BOOKS 

Used by Universities and Industry worldwide (ten languages} 



AN INTRODUCTION 
TOPRSOW. 
AND BUSIES 
OOrVFUflNG 

KCMXOMS 




rlrlrj 


\£}£}£$ r } 


i§§aS 






C200-AN INTRODUCTION TO 
PERSONAL AND BUSINESS COMPUTING 

Rodnay Zaks, 250 pp 

A comprehensive introduction to small computers, their 
peripherals, and what to select. $6.95 

C201- MICROPROCESSORS: FROM 
CHIPS TO SYSTEMS 

Rodnay Zaks, 416 pp 

The basic text on all aspects ot microprocessors and 
the assembly of a system. S°.°5 





C202 ■ PROGRAMMING THE 6502 

Rodnay Zaks, 250 pp 

A complete introductory programming text for the 
6502 SIO.95 

D302-6502 APPLICATIONS BOOK 

Rodnay Zaks, 200 pp 

Connecting a 6502 board to the outside world: from 
home alarm to music and industrial control . $12.95 



MICROPROCESSOR 

INTERFACING 

TECHNIQUES 



AUSTXtiSIA 



K 




C207- MICROPROCESSOR 
INTERFACING TECHNIQUES 

A. Lesea & R. Zaks, 416 pp 

How to interface a microprocessor to external devices: 
from keyboard to ADC to floppy disk, including 
standard busses. $11.95 

XI -MICROPROCESSOR LEXICON, 125pp 
All the definitions of the microprocessor world In a con- 
venient pocketbook format. $2.95 



AVAILABLE AT BOOKSTORES, COMPUTER STORES, AND ELECTRONIC SHOPS EVERYWHERE! 

SELF-STUDY COURSES ON CASSETTES 

"The time-efficient way to learn"™ 

Self-study courses include two to eight audio-cassettes and a special book. They offer the fastest way to learn the topic covered 
(from /j to two days). Highly effective. 



rC;- MICROPROCESSOR HIP ■ STWOY C> 

-> COURSIONCASSiTTK ^ J 








DESIGNING A 

MICROPROCESSOR 

SYSTEM 


■' T ~' i 


III 






i mmmm% 




MICROPROCESSORS 

FROM CHIPS TO SYSTEMS 



IK 



i- i: ; i j i 







COUPSE ON CASSETTES 

BIT SLICE 


j • ■■**. 1 







1- INTRODUCTORY -SHORT (2.5 hrs ea) 

SI-INTRODUCTION TO 

MICROPROCESSORS $29.95 

S2-PROGRAMMING 

MICROPROCESSORS $29.95 

S3-DESIGNING A MICROPROCESSOR 

SYSTEM $29.95 

SI OB-INTRODUCTION TO PERSONAL AND 

BUSINESS COMPUTING $21.90 



2- INTRODUCTORY- COMPREHENSIVE 

(TO to 12 hrs oa) 
SB1-MICROPROCESSORS $59.95 

SB2-MICROCOMPUTER 
PROGRAMMING $59.95 



TO ORDER 

»ypnc(,»: 415 848-8233, Visa, M.C., 

Amer Express. 
By mall: Include payment. 
Shipping: add SI.50 per book (UPS) or 

65c (4th class - allow 4 weeks). 

Double lor cassettes and overseas. 
Tax: in California add tax. 

FREE DETAILED CATALOGUE 



fsYBEXj 



Dept B6 

2020 Milvia Street 

Berkeley, CA 94704 

Tel 415 848-8233 Telex 336 311 

See You At NCC— Booth 31 



NAME_ 



3 -SPECIALIZED (4.5 to 6 hrs ea) 

SB3-MILITARY MICROPROCESSOR 
SYSTEMS $49.95 

SB5-BIT-SLICE $49.95 

SB6-INDUSTRIAL MICROPROCESSOR 
SYSTEMS $49.95 

SB7-MICROPROCESSOR 
INTERFACING $49.95 



.POSITION. 



COMPANY . 
ADDRESS_ 
CITY 



_STATE/ZIP 



DC200 DC201 DC202 DC207 DD302 DS1 DS2 

□ S3 DS10B DSB1 DSB2 DSB3 DSB5 DSB6 DSB7 

□ charge my DVisa DM.C. DAmer Express 

Number Exp. date 

Signature 



□ Send Catalogue 



Circle 356 on inquiry card. 



1S7 



Listing I: This BASIC program is the complete listing of the text editor. 

10 REM EDITOR, VERSION 6, AS OF 1600 HOURS, 1/31/78 

20 REM WRITTEN BY F.R. RUCKDESCHEL 

30 REM 773 JOHN GLENN BLVD. 

10 REM WEBSTER, NEW YORK 11580 

50 REM NEW PARAGRAPH CHARACTER= & 

60 PRINT "ENTER MAXIMUM LINE LENGTH", 

70 INPUT Ml 

80 PRINT "ENTER LETTER LENGTH", 

90 INPUT M2 

100 DIM A$(M2),G$(M1 ) ,B$(2000) ,E(300) 

110 PRINT "INPUT BEGINNING STORAGE LOCATION (DECIMAL): ", 

120 INPUT Y9 

130 REM TEST TO CHECK IF LETTER IS NEW 

110 PRINT "NEW LETTER (N) OR RESTART (R): ", 

150 INPUT G1$ 

160 IF G1$(1,1)="N" THEN GOTO 190 

170 GOSUB 2010 

1 80 GOTO 380 

190 A$ = "" 

200 G$-"" 

210 L=0 

220 B$ = "" 

230 PRINT "GET LETTER FROM FILE? (Y/N): ", 

210 INPUT H$ 

250 IF H$(1,1X>"Y" THEN GOTO 300 

260 PRINT "INPUT NAME OF LETTER: ", 

270 INPUT Z$ 

280 GOSUB 1530 

290 GOTO 630 

300 REM START OF NEW LETTER 

310 L=L+1 

320 PRINT *4I,L, 

330 INPUT G$ 

310 IF G$="]" THEN GOTO 630 

350 A$=A$+G$ 

360 GOTO 310 

370 REM »•»»»»••••»»»»»•«»»• 

380 REM ENTER EDIT MODE 

390 PRINT "EDIT SUBROUTINE" 

100 PRINT "ENTER LINE NUMBER TO BE EDITTED" , 

410 INPUT L 

420 REM L=0 IS ESCAPE EDIT 

430 IF L=0 THEN GOTO 630 

440 REM ADDITION AT FRONT OF LETTER? 

450 IF L<2 THEN GOTO 1680 

160 REM ADDITION TO END OF LETTER? 

170. IF L>N-2 THEN GOTO 1790 

180 Z=2«INT(L/2) 

190 REM INSERTION? F CHANGE IS DEFAULT 

500 IF LOZ THEN GOTO 1900 

510 PRINT 5&4I,L,A$(E(L-2) + 1,E(L) ) 

520 PRINT $31, L, 

530 G$="" 

540 B$ = "" 

550 INPUT G$ 

560 E(0)=1 

570 IF G$(1,1)<>"]" THEN B$=B$+G$ 

580 IF G$(1,1)<>"]" THEN GOTO 550 

590 IF E(L)+1>LEN(A$) THEN A$=A$+" " 

600 A$=A$(1,E(L-2))+B$+A$(E(L)+1 ,LEN(A$)) 

610 GOTO 6 30 

620 REM »»««»»»»«»»»»»»»»«•• 

630 REM JUSTIFICATION ROUTINE 

610 PRINT "COLUMN WIDTH", 

650 INPUT W 

660 PRINT "ENTER PAGE LENGTH: ", 

670 INPUT P 

680 C=0 

690 S=1\N=2\H=0 

700 PHINT "WANT LINES NUMBERED? (Y/N): ", 

710 INPUT H1$ 

720 IF H1$(1 ,1)r"N" THEN H= 1 

730 IF H=1 THEN J9= 1 

710 IF HOI THEN GOTO 7B0 

750 FOR K=1 TO 7 

760 PRINT 

770 NEXT K\GOTO 870 

780 PRINT "LINE NUMBER RANGE: 

790 INPUT N8.N9 

800 J9=0 

810 PRINT "WANT JUSTIFIED TEXT? (Y/N): 

820 INPUT J9$ 

830 IF J9$="Y" THEN J9= 1 

810 FOR K=1 TO 5 

850 PRINT 

860 NEXT K 

870 T=S 

880 IF T>LEN(A$) THEN GOTO 1220 

890 S=S+W 

900 REM NEW PARAGRAPH FLAG 

910 F=0 

920 IF S>LEN(A$) THEN S=LEN(A$) 

930 IF J9=0 THEN GOTO 1030 

940 REM TEST FOR PARAGRAPH CHARACTER 



(LOW, HIGH)' 



key disadvantages to using this feature are 
that more memory is required and consid- 
erable time is consumed performing the 
extra storage function, which is relatively 
slow. 

In the following sections the fundamental 
features of the editor program will be dis- 
cussed in some detail. It will become appar- 
ent that the program does not have many 
frills, but still has considerable utility when 
one becomes practiced in its operation. A 
sufficient number of examples are given such 
that the user should not have to experiment 
much to determine how the program re- 
sponds when kicked in a particular way. 
Following this are comments on software 
items which should aid in modifying the 
present program for use on other machines. 
The program as presented here suits my 
needs, but is probably deficient with respect 
to specific uses. However, the structure is 
sufficiently modular and sprinkled with 
comment statements such that the addition 
of new capabilities should be possible with- 
out a total revamping. 

Editor Features 

The object of the editor program is to 
generate a text oriented file which can be 
corrected and expanded with a reasonable 
level of ease. As mentioned earlier, the file 
may be stored on diskette, tape, or in active 
memory. The file can be recalled and printed 
out in two general formats, justified and 
unjustified. In the justification mode, by 
definition, lines are ended between words. 
The chosen line length may be any size as 
long as it is longer than the longest word in 
the text and shorter than the maximum line 
length allowed by the software. In the un- 
justified format, printing fills the entire 
line, regardless of whether or not a word is 
broken. 

In either justification format the program 
will list selected line number groups using 
only even numbers. This allows the user to 
insert lines, when in the edit mode, by 
giving them odd numbers. Inserted lines 
can be any number of characters long with- 
in the constraints of memory or dimension. 
The program renumbers and reformats after 
each editing exercise. 

Upon listing, it is the choice of the user 
to have the lines numbered or not. If the 
decision is not to number, the entire text 
will be printed. Otherwise a line number 
range can be chosen. In either case, the 
program goes through the entire text, re- 
formats and assigns line numbers. In the 
justification mode defined above this may 
consume a significant length of time as tests 
for the gaps between words and new para- 
graph identifiers must be made. In the un- 



158 



lune 1979 © BYTE Publications Inc 



for memory, the word is "CHOICE" 




No matter what system you choose — S-100 based, Radio 
Shack-80, H8, Digital Group, or even the Intel/National single board 
computer system — we have the memory you want. You may 
choose from a variety of configurations and densities, at a variety 
of price levels. 

We also give you the choice of buying your memory in unkit 
form (sockets, bypass caps pre-soldered in place); assembled and 
tested; or qualified under our CSC (Certified System Component) 
high-reliability program (200 hour burn-in, immediate replacement in 
event of failure within one year of invoice date, and more). 

But there are some areas where we don't give you a choice. You 
can't choose between 2 and 4 MHz versions of our high density 
memories, because we only make the 4 MHz type. And you can't 
choose between low and high power versions — all our memories 
are designed for very low power operation. An example: our 32K 
bank select board's guaranteed maximum current spec is 3.5A, 
which is considerably lower than most other typical current specs. 

We even give you a choice of non-memory products that offer 
exceptional value and performance, such as our I/O board, mother- 
boards, and active terminator. 

How do you get ahold of a CompuKit'™ product? Well, there's a 
choice there too. Our products are available from many fine com- 
puter stores, or directly from us. 






■ 111! 


IIIIIIIMRMP 


p> s r> p ■ " ■ 


" " : | !" " :- s iJ 


' • ■ ■ - . . ■ - 








Name 


Storage 


Buss 


Design 


Speed 


Configuration 


Unkit 


Assm 


CSC 


Econoram II 


8K X8 


S-100 


static 


2 MHz 


2-4K 


$149 


$164 


N/A 


Econoram IV 


16K X8 


S-100 


static 


4 MHz 


1-1 6K 


$295 


$329 


$429 


Econoram VI 


12KX8 


H8 


static 


2 MHz 


1-8K, 1-4K 


$200 


$270 


N/A 


Econoram VII 


24K X8 


S-100 


static 


4 MHz 


2-4K, 2-8K 


$445 


$485 


$605 


Econoram IX 


32K X8 


Dig Crp 


static 


4 MHz 


2-4K, 1-8K, 1-1 6K 


$649 


N/A 


N/A 


Econoram X 


32K X 8 


S-100 


static 


4 MHz 


2-8K, 1-1 6K 


$599 


$649 


$789 


Econoram XI 


32K X 8 


SBC 


static 


4 MHz 


2-8K, 1-1 6K 


N/A 


N/A 


$1050 


BANK SELECT MEMORIES (fo 


r Alpha 


Micro Syste 


ms, Marinchip, 


etc.) 






Econoram XII-16 


16K X8 


S-100 


static 


4 MHz 


2 ind. banks* 


$369 


$419 


$519 


Econoram XII-24 


24K X 8 


S-100 


static 


4 MHz 


2 ind. banks* 


$479 


$539 


$649 


Econoram XIII 


32K X8 


S-100 


static 


4 MHz 


2 ind. banks** 


$629 


$699 


$849 



'addressable on 8K boundaries ''addressable on 16K boundaries 



Econoram is a trade mark of Godbout Electronics. 



fALSO AVAILABLE: 16K MEMORY EXPANSION CHIP SET $109 (3/$320J^ 

For Radio Shack-80, Apple, Sorcerer machines. 250 ns chips for 4 MHz operation, DIP shunts, 1 year limited warranty. With easy-to-follow instructions. 



ACTIVE TERMINATOR KIT $34.50 

Our much imitated design plugs into any S-100 motherboard to reduce 
noise, ringing, overshoot, and other buss-related problems 

DUAL CHANNEL/DUAL FUNC 
S-100 I/O BOARD 

$189 unkit, $249 assm 

This one does things the others can only dream about. Two independent- 
ly addressable serial ports with full RS232C current loop (20 mA) and TTL 
signals on both ports, crystal controlled Baud rates to 1 9.2 KBaud , hardware 
UARTS, compatible with 2 or 4 MHz systems, low power consumption, and 
a whole lot more . . . we'll be glad to give you more info, just write. 





2102 MEMORY SPECIAL 10/$9.90 

That's only 99c each for very low power, static IK RAMs suitable for use 
with any 2 MHz system. Price only good on orders of 10 or more. 

16 pin lo-profile sockets also available at the special price of 12/$2.00. 



1791 MOS LSI DUAL DENSITY 
DISC CONTROLLER CHIP $59 

lust in. Prime Western Digital parts, with pinout and data. 

HEATH H8 BARE BOARD 
MEMORY SPECIAL - $35! 

Don't need the full 12K of our standard H8 memory? We now offer the 
board, mounting bracket, edge connector, and schematic for only $35. 
Populate it with a few support chips and readily available, low cost 2102s 
to build your memory up to a full 12K whenever your budget permits. 



TERMS: Allow 5% shipping, excess 
refunded Cal res add tax. 
VISA L "/Mastercharge' s call our 24 
hour order desk at (415) 562-0636. 
COD OK with street address for UPS 
(UPS COD charge applies). Prices 
good through cover month of 
magazine Orders under $15 add $1 
handling. 

Circle 150 on inquiry card. 



11 SLOT MOTHERBOARD UNKIT 

With 11 edge connectors pre-soldered in place for easy assembly, as well 
as integral active terminator circuitry. Dimensions: 8.5" X 11" *fcQO 

18 SLOT MOTHERBOARD UNKIT 

Same as above, but 18 slot version with 18 edge connectors. Dimensions: 

$124 



8.5" X16.7" 



(SmpuKit *. HSR 



BOX 2355, OAKLAND AIRPORT, CA 94614 



FREE FLYER: We'll be glad to tell you 
more than the space of this ad 
allows. Just send your name and 
address, we'll take care of the rest. If 
you're in a hurry, enclose 41c in 
stamps and we'll send it out first 
class. 



BYTE lune 1979 



159 



Circle 393 on inquiry card. 



1(1 II I u lie 1'I7'> 



161 



Circle 306 on inquiry card. 



lune 1979 © BYTE Publications Inc 163~ 



Listing 7 continued: 



justified mode the operation is very fast, 



In addition, changing the first character in 
the text is a little cumbersome; it is suggested 
that the very first character be a blank to 
mitigate this problem. 

When any of the above failures occur 
there is a good chance that recently edited 
work may be lost. For example, when a 
program fails, most BASICs enter the direct 
command mode. If the program is rerun, 
most likely the string variables will be 
cleared. The temporary save and retrieval 
subroutines were included to reduce the 
impact of such errors. If the error occurs 
during the edit mode, the last form of the 
text (before the edit mode was entered) 
may be retrieved by rerunning and answer- 
ing the initialization appropriately (re- 
start: R). If the failure occurs during a disk 
or a tape load, unless a large crash occurs, 
the most recent text version may be re- 
covered upon restart. 

Additional Notes 

There are several statements employed in 
North Star BASIC which must be modified 
if the editor program is to be used with 
another interpreter. The following is a list 
of the types of changes required if this 
program is to be translated into a BASIC 
similar to that written by Microsoft and 
distributed by MITS: 

FILL<>,<> same as POKEO.O 
EXAM(O) sameasPEEK(O) 

% Denotes a printing format (for 
example, nFm which is similar to the 
FORTRAN real format nFm). This can 
be simulated using the INT function 
along with some multiplication and divi- 
sion. In the more advanced versions of 
BASIC there is usually an equivalent 
format statement. 

, Denotes a continued print statement 
without a carriage return and line feed. In 
MITS BASIC one would use a semicolon. 

A$(M,N) With respect to the editing 
functions as implemented by the pro- 
gram, this is the most important differ- 
ence between the North Star and Micro- 
soft interpreters. For the task at hand 
the North Star form is preferred because 
of ease of use. In North Star BASIC 
A$(M,N) represents a substring of A$ 
which runs from character position M to 
character position N, thus having length 
N— M+1. To accomplish this in Microsoft 
BASIC one would use MID$(A$,M, 
N— M+1). Although a little more cumber- 
some, the Microsoft string function 
would suffice if it were not for the 
important variance that North Star 
BASIC allows arbitrarily long string 
lengths whereas Microsoft limits the 



string length to 255 characters. However, 
this limitation may be overcome by 
string subscripts. Note that string dimen- 
sions and subscripts are permitted in 
Microsoft BASIC, but not in North Star. 
Having to resort to subscripts is certainly 
an inconvenience and is a small pain to 
program. North Star BASIC certainly 
has an advantage in that respect. 
The most difficult editing function to 
perform is the alteration of a text segment 
as the set of characters to be changed may 
extend over more than one text line. Gen- 
erally it is best to attack the last line of the 
modification first. The corrections should 
then proceed toward the lower line num- 
ber. The reason for doing this is that the 
text is reassembled upon each editing pass. 
If a change is made in a given line, all the 
lines above that point are altered, whereas 
all the lines below that point maintain their 
structure if the same line width format is 
chosen. 

Inserting text is usually easy. As a re- 
dundant word of caution, remember to 
place a blank in the last character position 
in the file. Also, as there is some awkward- 
ness' in changing the very first character in 
the file, having a blank there is also helpful. 

Conclusion 

The limited capability editor program 
presented in the previous sections has the 
advantages of being easy to use as well as 
being somewhat portable. It was really 
meant to operate with the North Star Disk 
System, but can be translated for use on 
other BASIC oriented machines. Its utility 
is exemplified by the present article which 
served as a test case. In this application the 
article was broken up into files of 12 blocks 
(12 by 256 characters) or less to ease the 
strain on active memory. Thus, in effect, 
there is no limit to the document length 
which can be handled. Incidentally, 12 
blocks corresponds to approximately half 
a typeset magazine page. 

The true power of this program is ap- 
parent when large portions of the text 
creation and editing are done on a video 
display system (it is easy to get into the 
swing of rapidly typing additions and 
changes). However, occasional hard copy 
listings are invaluable for leisurely review- 
ing. A near ideal combination would seem 
to be a video display for editing and a fast 
hard copy terminal for printing. The denser 
and faster the video display the better." 



Copies of the software shown on listing 1 
are available from the author on diskettes in 
North Star format for $9.95 each (New York 
State residents add sales tax). 



164 



lune 1979 © BYTE Publications Inc 



r 



NEECO 



PET 2001 — 32K 




PROUDLY ANNOUNCES THE NEWEST 

PET MICROCOMPUTERS BY COMMODORE! 

The PET™ is now a truly sophisticated 

Business System with the 
announcement of these Peripherals. 



Trio PET'" inmriioiiiieci Willi Hie Floppy Disk und Punter 
makes an meal Business System loi mos! piolessiona! 
and specialised lipids medtine. law denial researcn 
engineenne Iriulmiikini!. pi.nluig eeueatiun energy con- 
servation, etc The PET" Sexiness System as a 
mnnaoernenl leol delivers inlormalrOn lo all levels Ol 
Business, previously all.nn.iMe on!/ win enmpmenl 
many kmes more expensive Tne PET'" Business 
System is one nl 1'ie most cusl elkcienl Ousrness lools 



loday II oilers a w.dc inisuMl .renliciili'rns Irom logging 
managemen! strategy m ma of coiporanons lo organising 
accounis and inventory con'roi ol sman easinesses Hce 
are |ust a te.v ol me cost-saving eses m me corpoiation. 
professional olkce 01 small imsmess slock control, 
purchasing, lorecaslmg. manelactermg coshng. ceslomer 
records mailing lists, em "ho PET"" Floppy O.-sk ano 
Primer, a compaHD-i.' tui'iniess system at 
pace — Take a closer look at these Penpherals 



<■ 



LARGE TYPEWRITER KEYBOARDS NOW AVAILABLE! 



PRODUCT 

PET 2001— 4K 

PET 2001 — 8K 

PET 2001— 16KN(La r ge 

PET 2001— 32KN (Large 

PET 2023 PRINTER 

PET 2022 PRINTER 

PET 2040 A 

PET 2040 

PET C2N 

'The 16K/32K (large keyboa 
2040 Floppy Drive requires 



DESCRIPTION PRICE 

4K RAM $ 595 

8K RAM $ 795 

Keys)16K RAM* $ 995 

Keys)32K RAM $1295 

ROLL FEED S 850 

TRACTOR/ROLL $ 995 

SINGLE FLOPPY $ 895 

DUAL FLOPPY* $1295 

2nd Cassette $ 100 

rd) units do not include a cassette drive, 
a 16K or 32K unit. 8K RAM Retrofit avail 



AVAILABILITY 

IMMEDIATE 
IMMEDIATE 
IMMEDIATE 
IMMEDIATE 
IMMEDIATE 
IMMEDIATE 
JUNE/JULY 
IMMEDIATE 
IMMEDIATE 

Order C2N Cassette. 

able July. 



ALL UNITS ARE FULLY TESTED BY NEECO BEFORESHIPMENT. ALL PET'S ARE 
WARRANTEED (BY NEECO) FOR 1 FULL YEAR! NEECO IS A FULL CUSTOMER- 
ORIENTED BUSINESS. PLEASE CALL FOR ADDITIONAL INFORMATION. ALL 
UNITS ARE IN STOCK & READY TO SHIP. FULL SOFTWARE AVAILABLE! 



THE NEW £s commodore PET PERIPHERALS! 



& a a rnmadkM-m PET 



I 



1 




2040 



2022 



Dual Drive Floppy Disk Tractor Feed Printer 



The Dual Drive Floppy is the latest in Disk technology 
with extremely large storage capability and excellent file 
management. As the Commodore disk is an "Intelligent" 
peripheral, it uses none of the RAM (user) memory of the 
PET'" The Floppy Disk operating system used with the 
PET' M computet enables a program to read or write data 
in the background while simultaneously transferring data 
over the IEEE to the PET'" The Floppy Disk is a reliable 
low cost unit, and is convenient for high speed data 
transfer. Due Ic the latest technological advances 
incorporated in this disk, a total of 360K bytes are avail- 
able in the two standard S%" disks, without the problems 
of double tracking or double density. This is achieved by 
the use of two microprocessors and fifteen memory I.C.s 
built into the disk unit. Only two connections are neces- 
sary — an A/C cord and PET'" interface cord. 

CALL FOR COMPLETE SPECIFICATIONS! IMMEDIATE DELIVERY! 

NEW ENGLAND AREA SUB-DEALERSHIP INQUIRIES INVITED! 



The Tractor Feed Printer is a high specification printer 
that can print onto paper (multiple copies) all the PET™ 
characters — letters (upper and lower case), numbers 
and graphics available in the PET™ The tractor feed 
capability has the advantage of accepting mailing labels, 
using standard preprinted forms (customized), cheque 
printing for salaries, payables, etc. Again, the only con- 
nections required are an A/C cord and PET™ connecting 
cord. The PET™ is programmable, allowing the printer to 
format print for: width, decimal position, leading and 
trailing zero's, left margin justified, lines per page, etc. 
It accepts 8'/j" paper giving up to four copies. Bidirec- 
tional printing enables increased speed of printing. 



NEWIBMSELECTRIC 

TYPEWRITERS FOR PET! 
(BRAND NEW IBM II) 




UNIT INTERFACES VIA THE 
USER PORT. FOR THE FIRST 
TIME A BRAND NEW IBM 
SELECTRIC IS AVAILABLE FOR 
YOUR PET! FULL CASSETTE OR 
DISK WORD PROCESSING 
PACKAGES. CALL FOR MORE 
INFO. PET -IBM $1995 



BUSINESS 
SOFTWARE 

BUSINESS PACKAGES AVAIL- 
ABLE ON THE 2040 DUAL 
FLOPPY: 

BUSINESS PAYROLL - 
COMPLETE MAILING LIST — 
STATISTICAL PACKAGE — 
GENERAL LEDGER — 
(UP TO 1,024 A/R's, 512 A/P's, 
512 GEN LED ACCTS, POSTING, 
DISBURSEMENT, AGEING, B/S, 
l?S, AND MANY OTHER 
FUNCTIONS!) COMPLETE WORD 
PROCESSING PACKAGES. 



NEECO NOW OFFERS A FULL ONE YEAR WARRANTY ON ALL PET'S SOLD BY NEECO! OUR NEW JUNE 
CATALOGS ARE NOW AVAILABLE — ARE YOU ON OUR MAILING LIST? NEECO OFFERS FULL SALES, 
SYSTEMS, AND SERVICE SUPPORT FOR ALL OF OUR CUSTOMERS — WHY NOT BUY FROM THE BEST? 



DEALER INQUIRIES INVITED. 



— NEECO OFFERS COMPLETE SOFTWARE (COMMERCIAL & CONSUMER) 



NEECO 



NEW ENGLAND ELECTRONICS CO., INC. 

679 HIGHLAND AVE., NEEDHAM, MASS. 02194 
MON. - FRI. 9:30 - 5:30, EST. 



(617)449-1760 

MASTERCHARGE OR VISA ACCEPTED 
TELEX NUMBER 951021, NEECO 



Circle 282 on inquiry card. 



BYTE June 1979 



165 



Bubble Memories 



A I Halsema 
32014 Granville Ct 
WestlakeCA 91361 



Update on Bubble 
Memories 

In the third quarter 
of J 978, after this 
article was written, 
Texas Instruments an- 
nounced a new mag- 
netic bubble memory 
which is capable of 
storing 250,000 bits 
of information. The 
new circuit has 252 
minor loops consisting 
of 1137 bubble po- 
sitions of which 224 
are guaranteed. The 
memory has an access 
time of 7.3 ms for the 
first bit of the 224 bit 
page. 



A Short Tutorial 



In the first quarter of 1977 Texas Instru- 
ments announced the availability of a 
92,000 bit magnetic bubble memory, mak- 
ing bubble memories a commercial reality 
ten years after the effect was discovered at 
Bell Laboratories. The bubble memory pro- 
vides nonvolatile, medium speed data stor- 
age at a price close to that of the floppy 
disk, but without either moving parts or 
the problems of reliability that moving 
parts entail. Future memories will provide 
storage densities of up to one million bits 
per chip and faster data rates, as the tech- 
nology matures. 

Bubble memories are shift registers that 
move magnetic domains representing binary 
data using rotating magnetic fields. The bub- 
ble memory integrated circuit is made of a 
magnetically reactive material such as garnet 
and has implanted in it a bubble generator 
for writing data, bubble detectors for read- 
ing data, bubble annihilators for erasing 
data and replicators to provide nondestruc- 
tive readout. Bubbles move in loops made 
of small bars of permalloy. As the mag- 
netic field driving circuit rotates, the permal- 
loy bars change their magnetic bias, attract- 



ing or repelling the bubbles, as shown in 
figure 1. This creates a shift register. The 
Texas Instruments TBM 0101 memory con- 
tains 157 minor loops of 641 bubble posi- 
tions for data storage, and a major loop of 
640 bubble positions for reading and writing 
data. This configuration is shown in figure 2. 

In operation, data is written into the 
major loop at the bubble generator. The bits 
so written are shifted along the major loop 
until they are adjacent to the minor loops 
where they are to be stored. The bubble 
transfer line is then activated and the bub- 
bles are shunted onto the minor loops. Of 
the 157 minor loops on the device, 144 are 
guaranteed to be good, so the user must 
avoid writing into any of the 1 3 minor loops 
declared bad at the factory. Each memory 
device will be shipped with a map of the 
bad loops written into the device at the 
factory. This map should be written into 
programmable read only memory to control 
access of the minor loops. The controller 
integrated circuit offered by Texas Instru- 
ments will have an input to cause it to ig- 
nore bubbles and may be driven by the read 
only memory. To read data, the minor loops 
are rotated until the desired 144 bubbles are 
adjacent to the major loop. The transfer 
line is activated and the bubbles are shunted 
out of the minor loops and onto the major 
loop. The bubbles are then shifted along the 
major loop until they reach the combination 
replicator and annihilator. 

If a replicate pulse is applied to the cir- 
cuit, the bubble is duplicated. While one 
copy goes on to the detectors and eventual 



PHASE OF DRIVING 
MAGNETIC FIELD 






Figure I: Movement of a magnetic bubble through a permalloy pattern 
response to a rotating magnetic field. 



i- PERMALLOY 
/ PATTERN 

- •» 


JBBL 

r 


+ 




+ 


+ 


+ 


+ 


.-"n 


+ 


+ 


->y pattern In 


+ 



166 



June 1979 © IJYTE Publications Inc 



BUBBLE GENERATOR 



MAJOR LOOP FOR 
DATA I/O (640 
BIT POSITIONS) 





r^\ 



Ky 




r~\ 



r^ 



REPLICATOR a 
ANNHILATOR 

BUBBLE 
DETECTORS 



BUBBLE 
TRANSFER LINE 



— PAGE 

— PAGE I 



W w 



PAGE 640 



157 MINOR LOOPS 



destruction, the other bubble continues 
around the major loop until it is shunted 
back onto its minor loop, thus providing 
nondestructive readout. The bubble that is 
passed on to the detectors activates dual 
Hall effect devices that vary their elec- 
trical resistance with varying magnetic fields. 
Two of these detectors are supplied in order 
to cancel noise through the use of a detector 
bridge connected to a differential amplifier. 
The detectors have a nominal resistance of 
1100 ohms and are matched to within 
±10 ohms. A single bubble passing under the 
two detectors produces a 7 mV signal with 
two positive and two negative peaks. Care 
must be taken when laying out circuit 
boards to avoid long detector signal lines 
and cross-coupling of control signal noise. 

The rotating magnetic field for shifting 
the bubbles is produced by driving the coils 
built into the circuit with signals that are 
90° out of phase at a maximum frequency 
of 100 kHz. This technique is shown in fig- 
ure 3. For standby low power operation, 
the coil drive may be turned off with no loss 
of data. 

Data in the memory is organized in the 
form of 18 byte pages and 641 pages per in- 
tegrated circuit for a total of 11,538 bytes. 
Using the TMS 9916 controller, any byte 
within a page may be randomly accessed, al- 
though the pages are serially accessed. Each 
minor loop contributes a bit to the forma- 
tion of a page, so that the 144 bits of a page 
are distributed over 144 minor loops. 

Prior to removing power from the mem- 
ory system, the user must be sure that page 
zero is rotated back into the page zero posi- 
tion. If this is not done, the next time power 



is applied it may not be possible to locate 
page zero for proper addressing. This is be- 
cause there are no physical indices to mark 
the beginning of the medium. If the TMS 
9916 controller is used, power failure detec- 
tion circuitry will initiate data positioning 
automatically. This process requires 1 2.8 ms, 
so the system's power supplies should re- 
main in regulation for at least this long. 

Considering the high price of the mag- 
netic bubble medium, it is unlikely that it 
will be used in a removable form as is the 
case with the floppy disk. Instead, they will 
probably be built into a cabinet (or even a 
mainframe) and used as a drum would be. 
An 11 K byte drum may seem small, but re- 
member that single circuits with 3 to 10 
times the capacity of the TBM 0101 are on 
their way.a 



Figure 3: This simple cir- 
cuit is an example of how 
the bubble memory field 
may be driven. 



Figure 2: Logical layout of 
the Texas Instruments TBM 
0101 bubble memory. The 
157 minor loops are used 
for data storage. Each loop 
contains 64 1 bit positions. 



CLOSED 

n open n 



J~L 



n n. 



_n n 



U- 



n 



n_ 



/ 



i 



Y 

ii — 



T 



I o 



0>iS 

r - 



TBMOIOI 
I rwv~v_ 



June 1979 © BYTE Publications Inc 167 



Stacks in Microprocessors 



T Radhakrishnan 
Dept of Computer Science 
Concordia University 
Montreal CANADA 

M V Bhat 

Pratt & Whitney Aircraft, Canada 
Engineering Computing 
Longuenil Quebec CANADA 



Introduction 

The stack or the "last in first out" 
(LIFO) data structure has become an essen- 
tial tool in computer systems. There are 
two major operations associated with this 
data structure: 

PUSH: places a new data item on 
top of the existing ones in 
the stack. 

POP: removes the topmost ele- 
ment of the stack for suc- 
ceeding operations. 

A spring loaded plate holder in a cafeteria 
is a good example of a "stack," since addi- 
tion and removal of items occur at the same 
end in a last in first out sequence (see figure 

D. 

When the capacity of a stack is "n" 
items, then n+1 consecutive PUSH opera- 
tions will cause the stack to overflow. 
Similarly, popping an empty stack creates 
an underflow. Even though stack underflow 
may not occur intentionally, programmers 
should account for this condition. Stack 
overflow is more probable when the stack 
capacity is not large enough to accom- 
modate all the occurring conditions 
simultaneously. 

Stack size is one of the major design 
parameters in processor architecture. For 
instance, the earlier Intel 8008 processor 
had a built-in 7 level subroutine control 
stack which was later increased to a more 
general stack pointer which could range 
throughout memory in the 8080. 

In the software realization of stacks, 
a programmable memory location is used 
along with an address pointer, called the 
"stack pointer" or SP. The stack pointer 
points to the memory location that holds 
the top element of the stack; the pointer is 
updated (incremented or decremented) after 
every push or pop operation (see figure 2). 
In this case the programmer must set aside 



a k 

x 

A 



PUSH A 



PUSH X 
PUSH K 



X A 

A 



Figure 7: A sample 3 word stack. A PUSH 
command causes one piece of data to be 
"PUSHed" onto the stack; the resident 
data is pushed downward to make room. 
Similarly, a POP command removes the 
topmost piece of data and shifts the rest of 
the stack upward. 



a portion of the main memory to accom- 
modate the stack. Consequently, the stack 
capacity is determined by the free space in 
the main memory and is more flexible. In 
figure 2 the occupied portion of the stack 
grows from low to high memory addresses. 
Hence, the PUSH operation increments the 
stack pointer and the POP operation decre- 
ments it. It is not difficult to introduce the 
stack overflow and underflow conditions in 
the above simulation. 

In another realization of stacks, a set of 
n registers constitutes a stack. Every POP 
operation takes the data item from the top- 
most register; the data in each stack location 
is then shifted upward. The PUSH operation 
shifts the stack contents down one place 



168 June 1979 © BYTE Publications Inc 



ONE PACKAGE DOES IT ALL 

Includes these Application Programs . . . 

Sales Activity, Inventory, Payables, Receivables, Check/Expense Register, 
Library Functions, Mailing Labels, Appointments, Client/Patient Records 



MICRO-AP MICRO-AP MICRO-AP MICRO 
i-AP MICRO-AP MICRO-AP MICRO-AP MICR 
lP MICRO-AP MICRO-AP MICRO-AP MICRO- 
RO-AP MICRO-AP MICRO-AP MICRO-AP MICR 
O-AP MICRO-AP MICRO-AP MICRO-AP MICRO- 
ICRO-AP MICRO-AP MICRO-AP MICRO-AP MICR 
CRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO- 
.P MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICR 
MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO- 

n^P MICRO-AP MICRO-AP MICRO-AP MICR 
MICRO-AP MICRO-AP MICRO-AP MICRO- 
kP MICRO-AP MICRO-AP MICRO-AP MICR 
MICRO-AP MICRO-AP MICRO-AP MICRO- 
iP MICRO-AP MICRO-AP MICRO-AP MICR 
MICRO-AP MICRO-AP MICRO-AP MICRO- 
kP MICRO-AP MICRO-AP MICRO-AP MICR 




•AP MICRO-AP MM I ^"""V BOAP MICRO-AP Ml 

:ro-ap micro-apI ■ ■ ■ kro-ap micro-ap r 

-AP MICRO-AP Ml I | | lo-AP MICRO-AP Ml 

:ro-ap micro-apI mm^ ^™ ■ ero-ap micro-ap t 

-AP MICRO-AP Mllfc— — 1 1 lo-AP MICRO-AP Ml 

:ro-ap micro-afB kro-ap micro-ap r 

■AP MICRO-AP Ml lo-AP MICRO-AP Ml 

IRO-AP MICRO-APfl KRO-AP MICRO-AP t 

-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP Ml 
:RO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP t 
-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP Ml 
:RO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP II 



RANDOM, MULTI-KEY RECORD RETRIEVAL under CP/M, CDOS, IMDOS, ADOS 



SELECTOR III ALLOWS 
INSTANT RECALL OF ANY 
RECORD USING ANY IN- 
FORMATION ITEM IN THE 
RECORD. That statement 
deserves re-reading, be- 
cause that ability makes 
SELECTOR III the most 
powerful Date Base Man- 
agement System in micro- 
computers today! 

With SELECTOR III 

you can... 

• define a record format, 
assign retrieval keys, and 
begin entering data in min- 
utes. 

• create sorted pointers to 
records matching your spe- 
cif or range of requirements. 

Circle 213 on inquiry card. 



• automatically generate 
reports with control-break 
summaries and unlimited 
variety. 

an application on- 
hours instead of 



• bring 
line in 
months. 



SELECTOR III comes com- 
plete with eight application 
programs that perform the 
tasks listed at top of page. 
And, since it's distributed in 
source code form, you can 
easily add subroutines to do 
specific computations or 
file updates. 

SELECTOR III runs under 
CBASIC Vers. 1 or 2, and is 
priced at $295. SELECTOR 



III-C2 is dedicated to Vers. 2 
only, runs about twice as 
fast, and costs $345. 

Both systems are available in 
a variety of CP/M, diskette 
size and density formats 
including IBM 8"; North Star; 
Micropolis; TRS-80; Pro- 
cessor Tech Helios II; Altair; 
iCOM; Dynabyte; Imsai; 
and others. 



| Available from computer stores nationwide: I 

LIFEBOAT Associates 

2248 Broadway, Suite 34, 
New York, N.Y. 10024 • (212) 580-0082 

Or order direct from 

MICRO-AP 

I 9807 Davona Drive, San Ramon, CA 94583 I 
(415) 828-6697 



BYTE June 1979 



169 











o-l 
o-2 
0-3 


Pop: 
Push: 


Ope 
SP 

SP 
M[5 

X 


rand «- M[SP]; 
«- SP-1. 

♦- SP+1; 
!P] «- Operand 




K 






■ h 


0-1 Is, 


Q 








X 




X 


a-l 




A 


A 


a-2 








a-3 






M: MEMORY 
BEFORE POP 






M: MEMORY 
AFTER POP 





Figure 2: A software simulation of the pushdown stack. Operation of the 
stack is identical to the hardware stack (see figure I), except that there is 
no dedicated hardware involved. Instead, a program creates a stack pointer 
in memory which points to the current location of the top of the stack. 



Processor 


Hardware Stack or 
Stack Pointer 


Stack Oriented Instructions 


Remarks 


1. 8080 


16 bit stack pointer 


a) Push register pair into stack 

b) Pop register pair from stack 

c) Push/Pop processor status word 

d) Exchange stack top with 
register pair (H,L) 

e) Load SP from register pair (H,L) 




2. Z-80 


16 bit stack pointer 


a) All the instructions of Intel 8080 

b) Push/Pop the (two) index 
registers 




3. M6800 


16 bit stack pointer 


a) Push/Pop the (A or B) accumulator 

b) Load SP from memory 

c) Store SP into memory 

d) Transfer index register contents 
toSP 

el Transfer SP into index register 
f) Increment/Decrement SP 




4. RCA 1802 


16 bit stack pointer 


a) Increment/Decrement the selected 
register (SP) 

b) Push/Pop the working (D) register 

c) Load the D register into left or 
right half of SP 


Any of the 16 
registers can 
be used as a SP 


5. PACE 


Hardware stack 
8 16 bit words 


a) Push/Pop program counter 

b) Push/Pop the specified register 

c) Exchange the contents of the 
register with SP 

d) Push/Pop the flag register 


Stack overflow 
Underflow 
Interrupts are 
provided 


6. IMP-8C 


Hardware stack 
16 8 bit words 


a) Push/Pop the selected accumulator 
into stack 

b) Exchange the stack top with the 
selected accumulator 

c) Push/Pop the status flags into 
the stack 


No overflow 

Underflow 

Interrupts 



Table I: Stack features of some common microprocessors. The stack is a 
storage place in a computer designed to hold pieces of data in serial order. 
"PUSHing" an element onto the stack causes the existing elements in the 
stack to be moved downward, in much the same manner as a spring loaded 
plate holder found in restaurants. "POPing" an element from the stack re- 
moves the most recent addition to the stack for use. Because of these two 
features, the stack operation is often referred to as "last in first out, " or 
"UFO. " 



and adds the new data item. In this ap- 
proach, reading from and writing to the data 
structure occur only with the topmost regis- 
ter. Inter-register transfers can be achieved in 
parallel during the same clock period. The 
stack facility available with IMP-8C micro- 
processor, an example of this type, has a 
capacity of 16 words. This method of 
realization is known as the fixed top (figure 
1) in contrast to the moving top approach 
explained earlier (figure 2). The flexibility 
associated with the latter can be combined 
with the speed advantage of the former as 
is done with PACE microprocessors (see 
table 1). 

Most modern processors provide one or 
more registers to hold stack pointers. For 
example, there is one stack pointer register 
in the Intel 8080 and there can be as many 
as 16 stack pointers in the RCA 1802 
processor (see table 1). The pop and push 
instructions update the SP registers auto- 
matically. The architecture and the stack 
oriented instructions differ widely among 
the various processors, and table 1 gives 
details of some of the common ones. 

Typical Applications of Stacks 

Suppose a routine A calls another routine 
B at some point a in A. Similarly, let B call 
C at point b. The addresses a+1 and b+1 are 
the return addresses where execution control 
will return from the called routine. It is 
evident from figure 3 that the return ad- 
dresses are used in the reverse order of their 
sequence of occurrence. The labels d, c2, 
c3 in figure 3 stand for the first, second and 
third calling of routines, and r1, r2, r3 stand 
for the first, second and third returns from 
the called routines. This last in first out 
(LIFO) nature of the use of return addresses 
in multilevel calling is commonly imple- 
mented with stacks. Simple extensions have 
been devised to pass the parameters along 
with these return addresses using the stack 
structure (see reference 1 ). 

The calls shown in figure 3 could also be 
considered as calls to service routines due to 
asynchronous interrupt signals. In the latter 
case, the return addresses are not predeter- 
mined address points, but are instead the 
contents of the program counter. However, 
the last in first out nature of the return 
addresses remains valid. The call due to an 
interrupt creates a new process, and hence 
the status of the current process (process 
status word, flags, etc) has to be additionally 



170 



June 1979 © BYTE Publications Inc 




after 




BATTERY SUPPORTED 
CALENDAR CLOCKS 



PDP-11* 

TCU-100-$495 

■ Provides month, day, hour, minute and second. 

■ Can interrupt on date/time, or periodic intervals. 

TCU-150«$430 

■ Provides year, month, day, hour, minute and 
second. 

■ Automatic leap year. 

■ Patches for RSX-11M, RT-11 FB/SJ V02, V03 
and UNIX. 

LSI-11/2* 

TCU-50D • $295 

■ Provides month, day, hour, minute and second. 

■ Dual size board. 

■ Patches for RT-11 SJ/FB V02, V03B. 

Lockheed SUE 

TCU-200 • $550 

■ Provides year, month, day, hour, minute, second 
and milli-second. 

■ Interval interrupts between 1/1024 seconds and 
64 seconds. 

Computer Automation (Naked Mini) 

TCU-310-$385 

■ Provides year, month, day, hour, minute and 
second. 

*Trademark of Digital Equipment Corporation 




Multi-Bus** 

TCU-410«$325 

■ Provides year, month, day, hour, minute and 
second. 

■ SBC/BLC compatible. 

HP 2100 

TCU-2100«$395 

■ Correct time restored after power failure. 

■ Compatible with the HP TBG card. 

Serial Clock (RS 232 or 20 mA) 

SLC-1 • $575 

■ Connects between any terminal and host computer. 

■ Provides date, time and more! 

All Digital Pathways TCUs have on board NICAD 
batteries to maintain time and date during power 
down. Timing is provided by a crystal controlled 
oscillator. Prices are U.S. domestic single piece. 
Quantity discounts available. 

For more information on these products, contact: 
Digital Pathways Inc. 
4151 Middlefield Road 
Palo Alto, CA 94306 
Phone: (415) 493-5544 



"Trademark of Intel Corporation 



DIGITAL PATHWAYS 



Circle 86 on inquiry card. 



BYTE June 1979 171 



CALL B 



ROUTINE A V 





\r2 



ROUTINE B \ 



\ 



ROUTINE C 




ROUTINE 

Figure 3: Diagrammatic representation of multilevel, or "nested," subrou- 
tines. The return address of each subroutine call must be remembered so that 
the program can return to the right place after the subroutine is completed. 
The "last in first out" nature of nested subroutines is such that the stack is 
a logical way to keep track of the return addresses. 



saved. Some processors, like the IMP-8C, 
have instructions to push and pop status 
flags onto stacks. In other processors, this 
is done automatically when an interrupt 
occurs. Stacks in microprocessors, starting 
from the early Intel designs, have tradi- 
tionally been used primarily for subroutine 
control and interrupt handling. 

Another use of stacks, though one not 
much used in the hardware of processors, 
is in the compiling arithmetic expressions. 
Consider the following arithmetic expression: 

A+BXC-D/E 

In this form, the "operator" is between the 
two operands. This is known as infix 
notation. The form in which the operator 
follows the operands is called postfix or 
reverse Polish after the Polish logician 
J Luckasiewicz, who investigated the prop- 
erties of this notation. The postfix equivalent 
of the above expression, which does not 
require any parentheses, is as follows: 

AB+CXDE/- 

Algorithms exist which use the stacks to 
convert arithmetic expressions from infix 
to postfix notation (see reference 2). Figure 
4 shows a sample code for the above postfix 
expression; it is meant for a computer with 
stacks, and is used to evaluate arithmetic 
expressions. Operations such as ADD and 
SUB take the top two elements of the stack, 
perform the operation, and then push the 
result back onto the stack. Such a system 
is called a stack computer. Using this postfix 
notation, it is not hard to generate code for 
machines with single accumulators or for 
machines with multiple registers. 



Stack Machines 

Among the architectures with two stacks, 
two broad categories are evident. The first 
kind of machine provides stack features 
along with conventional architecture. This 
stack feature might be implemented through 
a hardware realized stack, a stack pointer 
register with a set of associated hardware 
instructions, or a complete software simula- 
tion using a memory location as the stack 
and its pointer. Some combinations of these 
three approaches are also present in some 
recent processor architectures. Most proc- 
essors have some sort of stack facility and 
instructions to manipulate data with stacks 
or stack pointers. 

The second kind of machine with stack 
facility can be called a stack machine. Its 
architecture is completely centered on 
stacks. The Burroughs B5500 and B6700, 
HP3000 and ICL2900 are examples of this 
category. In these machines, the three basic 
functions of process management, memory 
management, and data management of jobs 
are all stack oriented. Most of these archi- 





Contents of Stack 


Op Code 


(read left to right) 


PUSH A 


A 


PUSH B 


B,A 


ADD 


(A+B) 


PUSH C 


C,(A+B) 


MPY 


(A+B)*C 


PUSH D 


D,(A+B)*C 


PUSH E 


E,D,(A+B)*C 


DIV 


(D/E),(A+B)*C 


SUB 


(A+B)*C-(D/E) 



Figure 4: Op code designed for use with 
Polish postfix notation on stack oriented 
computers. Polish notation is a method 
for rewriting expressions unambiguously by 
systematically segregating operators and 
operands. For instance, the expression used 
in this example appears as (A+B)XC—D/E 
in normal, or "infix" notation; the Polish 
postfix equivalent is AB+CXDE/. The latter 
can be directly used by a stack oriented 
computer, which automatically performs 
stack operations. (For example, a stack 
ADD instruction takes the top two elements 
of the stack, adds them together, and pushes 
them back onto the stack. The MULT, 
DIV and SUB operators work in the same 
manner.) The algorithm for evaluating the 
expression then reduces to examining each 
element in the Polish notation string from 
left to right, pushing it onto the stack if 
it is an operand and performing the opera- 
tion if it is an operator. 



172 June 1979 © BYTE Publications Inc 




• NEW PRODUCT • 

64K bytes of 
fast, low 
power dyna- 
mic RAM. 
MEMORY 
BANK SELECT 

$89500 

for model DMB 6400 



64K bytes of 
fast, low 
power dyna- 
mic RAM. 



00 



Both our UNCommon Dynamic and our UNCommon Static RAMS have the following 
features and specifications: 



} 



$ 795 

for model DM -6400 

• NEW PRODUCT. 

32K bytes of 
faster Static 
RAM which 
MEMORY 
BANK SELECT 
$59500 

for model SMB 3200 



• They are all GUARANTEED to be compatible with the following S-100 
systems: 

CROMEMCO. IMSAI. ITHACA AUDIO. MITS. NORTH STAR. PROCESSOR 
TECHNOLOGY, TDL.TEI. VECTOR GRAPHICS, and other S- 100 systems. 



Both of Our UNCommon Dynamic RAM Series, 
the DMB -6400 and the DM-6400, feature: 

• 64K bytes of dynamic RAM with on board transparent refresh. 

• S-100 interface compatible, with crystal controlled timing INDEPENDENT 
of bus or processor timing. 

• No wait states with 8080 orZ-80 to4MHz. Up to 5MHz with I wait state. 

• Memory selectable or deselectable in 4K byte increments. 

• Low power. 8 watts maximum, in 64K byte configuration. 

Our UNCommon Static RAM Series, the SMB 
3200, features: 

• Memory Bank select capabilities: Either two (2) I6K byte banks of mem- 
ory, or one (I) 32K byte bank per board. 

• 32K bytes of low power static RAM. 

• No wait states with 8080. 8085, or Z-80 processors up to 5MHz. 

• Addressable in 4K byte increments at 4l< boundaries. Deselectable in 4K 
byte increments. 



Announcing the Model DMB-6400 Series 
of UNCommon Dynamic RAMS. This Series 
incorporates the features which are stan- 
dard in the DM-6400 Series and adds the 
following capabilities: 

• MEMORY BANK SELECT which is compatible with CROMEMCO. 

NORTH STAR, and other systems using output port bank select. 

• 256 ports selectable (including CROMEMCO 40H and NORTH 
STAR COH) 

• Eight (8) 64K bytes banks of memory per output port. 

• Each I6K bytes of addressable memory space may be individually 
set to start at 0000. 4000. 8000. or C000 and can be set for any of 
the 8 banks on one selected output port. The bank memory size 
can be incremented from 16K bytes to 64K bytes in 16K increments. 
allowing 5I2K byte bank sizes. 

• Total memory addressing to over 100 Megabytes by using different 
I/O ports for memory control. 



UNCommon Dynamic RAMS with | 
MEMORY BANK SELECT. 

□ DMB 6400/64K RAM - *895 00 

□ DMB 4800/48K RAM - *795 00 

□ DMB 3200/32K RAM - *695 00 

UNCommon Static RAMS with 
MEMORY BANK SELECT. 

□ SMB 3200/32K RAM - s 695 00 

UNCommon Dynamic RAMS 

D DM 6400/64K RAM - *795 00 
D DM 4800/48K RAM - s 695 00 
D DM 3200/32K RAM - 559500 




Delivery: stock 10 30 days 
• TRICES SUB|tCT TO CHANCE WITHOUT NOTICE. • 



All of our UNCommon Dynamic and Static Series 
RAMS feature the following: 

• Inputs are RC filtered and buffered with I LS TTL load. Compatible with 
terminated or unterminared busses. 

• Outputs are all tri-state. 

• Disc compatible. DMA compatible. 

• Phantom memory selectable on pin 67. 

• DIP switch selectable addressing. 

• Reliability — all boards fully tested and burned-in. 

• FULL DOCUMENTATION — Schematics, layout, parts list, theory of oper- 
ation, timing diagrams, and option selection. 

• Industrial quality design, components and construction. Glass epoxy 
boards. Fused, double solder masks. Silk screened legends. Gold plated 
connector contacts. All IC's socket mounted. 

• Guaranteed performance on parts and labor for one year. 



MEASUREMENT 

systems cv controls 

incorporated 

For the above products see your local dealer or order directly. 

ORDERS - BA. VISA. MASTER CHARGE, money orders, or personal checks. Please allow 14 
days for checks to clear bank. California residents please add 6% sales tax to your order. 

All orders shipped postpaid. All orders in U.S. funds. Please add 10% on all orders outside the 
U.S.A. and Canada. 



867 North Main Street 

Orange, California 92668 

Telephone: (714) 633-4460 



Circle 215 on inquiry card. 



ISYTE June 1979 



173 



X_ Ixl, x2) 



(b) 



(c) 



X: Begin 

Integer x1, x2; 



Y: Begin 

Integer y1 , y2, y3; 



Z: Begin 

Integer z1 ; 



End; 



End; (Y) 



K: Begin 

Integer k1, k2; 



End; (K) 



N: Begin 

Integer n1 ; 



End; (N) 

End; (X) 




N • (nl) 



(zl) Z 



y3 

x2 

x ! 



y3 



y2 





k2 


k I 


x2 


Hi 



tectures support block structured languages 
similar to ALGOL or PL/I. A program 
written in a block structured language can 
be visualized as a tree structure; execution 
of the program traces some paths in this 
tree structure. The relationship between tree 
structures and stack data structures is well 
known (see reference 4). An example is 
shown in figure 5 along with "snapshots" 
of stacks holding the program variables. 
Because of the limited access points with 
stacks, certain extensions are required in 
stack machines to implement the array data 
structures. These extensions are of a dif- 
ferent kind, such as the use of index registers 
for addressing. Similarly, to facilitate process 
and memory management, special software 
tools are used. 

Computer systems and architectures can 
be appraised from three points of view: the 
languages available to users (application and 
system programmers), the operating system, 
and the hardware. These three areas are 
highly interrelated, and it is difficult to 
separate their capabilities. A few stack 
machine architectures are commercially 
available with facilities for multiprogram- 
ming and timesharing. The architecture of 
the Burroughs systems is such that the sys- 
tem software can be effectively written in 
a high level language. Stack machines have 
good and bad points. Their advantages are 



Figure 5: A block structured program. Programs written in block structured 
languages can be visualized as tree structures (figure 5a). ALGOL and PL/ 1 
are examples of this type of language. The tree in this illustration shows how 
the program is structured. Figure 5b shows how the stacks in a stack oriented 
machine would look at various points of the program. Figure 5c shows the 
block layout of the program. 



noticeable in block structured programming, 
which is becoming popular. As Doran points 
out (see reference 1), stack machines have 
proven to be successful. The increasing cost 
of software and the flexibility available 
through microprogramming indicates a trend 
towards stack machines or, at least, toward 
a greater use of stack features in computer 
architectures. 

Conclusions 

Developments in software and program- 
ming techniques during the past decade have 
proven the advantages of stack data struc- 
tures. Microprocessors of recent origin 
provide adequate facilities to support this 
data structure. The provision of stack 
pointers is a compromise between the ex- 
pensive and inflexible hardware stacks at 
one end and the inexpensive and flexible 
software simulation at the other end. Most 
microprocessors have stack pointers and a 
set of associated machine instructions. 

Stack machines have certain advantages 
in higher level block structured programming 
and the implementation of operating sys- 
tems. At present, programming with micro- 
processors is done mostly in machine or 
assembly language level. Large in-house 
software systems for microprocessors are not 
yet a reality. As a result, stack machine 
architectures are still in the realm of large 
machines." 



Acknowledgement 

We gratefully acknowledge the help 
of K Venkatesh, research assistant, 
Computer Science Department of Con- 
cordia University, in the preparation of 
this manuscript. 



REFERENCES 

Doran, R W, "Architecture of Stack Machines" 
in High Level Language Computer Archi- 
tecture, edited by Y Chu, Academic Press 
1975. 

Gries, D, Compiler Construction for Digital 
Computers, John Wiley & Sons, NY 1971. 
McKeeman, W, "Stack Computers" in Intro- 
duction to Computer Architecture, edited by 
H S Stone, SRA Inc 1975. 
Knuth, D E, The Art of Programming, vol 1, 
Fundamental Algorithms, Addison Wesley, 
Reading MA 1968. 

Organick, E I, Computer System Organization: 
The B5700/B6700 Series, Academic Press 
1973. 



174 lune 1979 © BYTE Publications Inc 



9&> 



&&~ 




Circle 23 on inquiry card. 



Complete System includes: 

• 10 MILLION CHARACTER HARD DISK STORAGE 

• DISK OPERATING SYSTEM & EXTENDED BASIC 

• POWERFUL 16-BIT CENTRAL PROCESSING UNIT 

• VIDEO DISPLAY TERMINAL 

• 1 50 CPS LINE PRINTER AND PRINTER STAND 

• DESK ENCLOSURE 



basic Lime 



1215 E. El Segundo Boulevard 
El Segundo, California 90245 
213/322-4435 



HYTt |une M7<) 175 



Designing 

a Command Language 



G A Van den Bout 
929 Tower St 
Raleigh NC 27607 



Nearly every system, whether it is com- 
posed of ten lines of code or ten thousand 
lines of code, will perform three distinct 
functions. It will receive input from the 
user, it will process this input and it will 
output the results. Of these three functions, 
the one which undoubtedly receives the 
least attention from the system designer is 
the communication from the user of the 
system to the system itself. 

Hours and hours may be spent per- 
fecting a processing algorithm and com- 
puting field lengths so that the resulting 
output can be instantly understood, yet 
due to the lack of consideration put into 
the input stage of the system, the user 
may be forced to plow through a series 
of questions and answers directed to him 
by the system. This is a situation which 
would try the patience of even the most 
tolerant person. Sometimes a situation even 
worse than this series of questions may 
be caused by the designer who is very 
familiar with the system. In an effort to 
save time and memory space, the designer 
may decide to reduce or even entirely omit 
any prompting by the program. This leaves 
the decision of what information must be 
entered to the intuition of the user, or to 
a system manual which will probably not 
be around when it is needed. 

A good solution to the problem would 
be a well designed command language which 
would allow the user to supply all of the 
information which is needed by the pro- 
gram at one time, in a single command. 
Then, if any of the required data has not 
been entered, the computer can prompt the 
user for the remaining items. This method 



allows for both the experienced user who 
knows exactly what data the program needs 
at every instant and for the first time user 
who requires some help from the system 
now and then, but who will soon become 
familiar with the system and probably prefer 
to avoid the repetitious prompting. 

Consider the following example which, 
although hypothetical and not necessarily 
typical of chess playing programs in general, 
illustrates problems which do exist in 
many systems. A superb chess playing pro- 
gram has been designed after months of 
hard work. Along with this program, a 
graphics output system has been devised to 
display the present formation of the board 
after each move is made. When the user sits 
down to test his skill against that of the 
machine, he becomes a partner to the fol- 
lowing dialogue: 



(C: COMPUTER; P: PLAYER) 

C: DO YOU WISH TO MOVE(l), CAPTURE(2), 

OR CASTLE(3)? ENTER 1, 2, OR 3. 
P: 1 
C: ENTER NUMBER (1-8) OF ROW THAT 

PIECE IS ON. 
P: 2 
C: ENTER LETTER (A-Z) OF COLUMN THAT 

PIECE IS ON. 
P: D 
C: ENTER NUMBER (1-8) OF ROW TO WHICH 

YOU ARE MOVING. 



No matter how well the machine plays 
chess, it is doubtful whether it will be used 
by any particular person for more than a few 
games. Despite the thought that went into 
the rest of the program, no creative thought 
was put into the command language for the 
system. 



176 June 1979 © BYTE Publications Inc 





Figure I: A finite state 
machine with one initial 
state and three final states 
that is capable of recog- 
nizing the words: sat, sog, 
sogs, hat, hog and hogs. 



Now, consider the following conversation 
between the computer and the player. 



C: 
P: 
C: 
P: 
C: 
P: 
C: 



ENTER YOUR FIRST MOVE. 

MOVE FROM D2 TO D4 

I MOVE FROM H5 TO E2. CHECK. 

CAPTURE E2 

FROM WHERE? 

H2 



This method not only cuts down on the 
unnecessary chatter which was encountered 
in the first case, but gives the player credit 
for possessing some knowledge of what is 
happening in the game. By taking time to 
design an easy to use command language, the 
designer can produce a game which will not 
only play well but which will also be enjoy- 
able to use. 

The problem encountered when designing 
a program which handles a set of commands 
such as these is that often no organized 
approach is taken to assure that the allow- 
able commands are processed correctly. 
Each input string may be scanned and re- 
scanned for the information which is needed 
by the program. This type of haphazard 
approach will very likely produce unreadable 
code which is hard to debug and which may 
contain hidden errors and ambiguities. To 
avoid these problems, the theory of finite 
state machines (FSMs) may be used to 
produce a recognizer program which can 
parse the input commands and produce a 
structured command which can be inter- 
preted by the system. 

Finite State Machines 



Consider the finite state machine shown 
ir figure 1. Each circle represents a state of 
the finite state machine. In this example 
there are seven states: S, 1,2, 3, F1, F2 and 
F3. The names chosen for the states are 
arbitrary. The directed lines between the 
states are called state transition paths. The 
state transition path, labeled with an H, 
located between state S and state 1, is 
named S-1(H). The parenthetical symbol 
will be omitted when there is no ambiguity, 
such as the path 1-3. The states which are 
circled twice are final states. The final 
states in figure 1 are F1, F2 and F3. The 
states which are pointed to by arrows which 
lead from no other state are called initial 
states. The only initial state in figure 1 is S. 

This finite state machine can be used to 
recognize several different strings, a string 
in this case being merely a sequence of 
letters. For a particular string to be recog- 
nized, an ordered path must exist between 
an initial state and a final state such that 
every symbol in the string being recognized 
exists (in its original order) along the path 
starting at the initial state. Using this finite 
state machine the string HOG is recognized 
in the following manner. Starting at initial 
state S, the first symbol in the string, H, 
leads to state 1 along path S-1(H). The 
second symbol, the letter O, selects path 
1-3 leading to state 3. Finally, the symbol 
G leads to the final state F2 via the path 
3-F2. Since this path exists from the initial 
state S to the final state F2, the string has 



Since the aim of this article is to show 
how to use finite state machines to aid in 
programming a command language, not to 
thoroughly cover finite state machine 
theory, I will give a rather informal descrip- 
tion of the machines. The representation 
used here has appeared in various places, and 
was chosen mainly because of its simplicity 
for this application. 



Figure 2: Finite state machine that has a 
state transition path loop. 




June 1979 © BYTE Publications Inc 



177 



Figure 3: A lexical finite 
state machine for rec- 
ognizing the entities that 
will be accepted by the 
game: <TO>,<TAKE>, 
<M O V E>,<CAP>, 
<FROM>,<END>, 
<POS>. 





been recognized. The other strings which 
can be recognized by this FSM are SAT, 
HAT, SOG, SOGS and HOGS. 

State transition paths need not proceed 
to a new state. A state transition path may 
return to a previous state or may even re- 
turn to the state from which it started. Fig- 
ure 2 is an example of a finite state machine 
which will recognize any string which begins 
and ends with an A and which has zero or 
more Bs between the two As, such as the 
strings: AA, ABA, ABBA, etc. 

Sample Problem 

Now that the basics of finite state ma- 
chines have been explained, a simple com- 
mand language will be defined and imple- 
mented using them as a design tool. Using 
this example, a similar procedure can be 
followed to produce a recognizing pro- 
gram for nearly any command language 
which might be chosen. 



Assume that there is a game which is 
played on a chess board. The columns of the 
board are labeled with the letters A thru H 
and the rows of the board are labeled with 
the numbers 1 thru 8. The three possible 
moves which may be made by any player 
consist of moving a piece from one square to 
another, MOVE, moving a piece to another 
square and capturing the piece on that 
square, CAP, or removing one of his own 
pieces from the board, TAKE. Some exam- 
ples of commands which are to be accepted 
by the program are: 

MOVE FROM Al TO C3 
CAP FROM 4H TO HI 
TAKE FROM E5 
MOVE TO F6 FROM 6G 

It can be seen that the commands are 
made up of six basic entities which must be 
recognizable. Three of these entities are the 
commands MOVE, CAP and TAKE. TO and 
FROM are keywords which must be identi- 
fied in order to interpret a command. The 
final type is a position which may consist of 
a letter followed by a number or a number 
followed by a letter and which will exist one 
or more times in each command. 



<M0VE> 




178 June 1979 © BYTE Publications Inc 



Command Recognizers 

When a command is entered to be inter- 
preted by the computer, it consists merely 
of a sequence of symbols (letters, numbers 
and spaces) which have no syntactic meaning 
of their own. The meaning only starts to be- 



come clear when the symbols are grouped 
together to form tokens. The tokens which 
exist in this game are the six entities de- 
scribed above. These tokens will be referred 
to as <MOVE>, <CAP>, <TAKE>, <TO>, 
<FROM>, <POS>. A finite state machine 
which will recognize each of these tokens is 
shown in figure 3. Blanks are shown on this 
diagram and in the following diagrams as 
small squares. Note that one new token has 
been added to the six types listed above. 
This new token is <END> which is recog- 



<P0S> 



Figure 4: A syntactic 
finite state machine for 
accepting valid commands. 




keeping you in touch with technology. . . 

The Understanding Series™ from Texas Instruments. 



Five self-paced, easy-to-understand books for 
the reader who wants to learn about electronics 
technology, but can't devote years to the study. 



Understanding Microprocessors. 

250 pages. Available June 1979. 
For the newcomer to microprocessors. 
What they are, what they do, how 
they work. 

Understanding Calculator Math. 224 

pages. Loaded with practical elec- 
tronic calculator applications. 



H> 





me. 



1 




Understanding Solid-State Electronics. 

New 3rd edition. 270 pages. Simple 
building blocks for learning solid- 
state behavior. 

Understanding Digital Electronics. 

265 pages. The world of today's digital 
devices made easy. 



Basic Electricity and DC Circuits. 

1026 pages. Learn all about DC Cir- 
cuits — simply, easily. 



80103 
"~1 



□ LCB-4023 Understanding Microprocessors. 
New . . . available June 1 979 

□ LCB-3321 Understanding Calculator Math 

□ LCB-3361 Understanding Solid-State Electronics. 
New 3rd edition 

□ LCB-3311 Understanding Digital Electronics 

□ LCW-8161 Basic Electricity and DC Circuits 
Add applicable sales tax (except AK, DE. HI, MT, 
SPECIAL OFFER: 

Purchase any two books and save 
Purchase all five and save 



© I979 Texas Instruments Incorporated 



S 4.95 
S 3.95 

$ 3.95 

$ 3.95 

S19.95 

NH, OR) 

$ .50 
$2.00 



Mail check or money order to Texas Instruments, P.O. Box 3640, 
M/S84. Dallas. Texas 75285. Orders in Continental U.S. shipped 
prepaid. Foreign orders: Prepaid funds in U.S. dollars only. 
Include shipping costs. 




S 5 



Address . 



City, 



-Zip. 



Limited time offer. Prices effective January. 1979. Subject to change without notice. 



Texas Instruments 



I NCORPOR ATED 



Circle 366 on inquiry card. 



lune 1979 © BYTE Publications Inc 179 



Figure 5: Two example 
COMMAND arrays. COM- 
MAND array A results 
after processing the com- 
mand MOVE TO CI 
FROM H6. COMMAND 
array B is the result of 
processing TAKE FROM 
A 7. 



(a) 



H 



6 



c 



(b) 



3 



A 



7 



nized when an end of line (eol) delimiter is 
found. 

Most of this finite state machine is self- 
explanatory. Note, however, the two states 
LI 5 and L23 which are entered after match- 
ing an initial C or F, respectively. These 
states represent a point in the matching proc- 
ess where the token being recognized may 
be either a command (<CAP> or <FROM>) 
or a position (<POS>). When the next sym- 
bol in the input stream is examined, the rec- 
ognition of the token as a position (paths 
L15-L20 and L23-L20) or as a command 
(paths L15-L16 and L23-L24) can be made. 

The finite state machine which has just 
been described performs the process known 
as lexical analysis, the process of grouping 



Table 1: Semantics for the syntactic finite state machine. 



Sl-S2(<MOVE>) : 


SETCOMMAND(l) 


TO 1 


S1-S2(<CAP>) : 


SET COMMAND (1 


TO 2 


S1-S3 : 


SET COMMAND (1 


TO 3 


S4-S7 : 


SET COMMAND(2 


TO COLUMN (A-H) 




SET COMMAND(3 


TO ROW (1-8) 


S10-S13 : 


SET COMMAND(4 


TO COLUMN (A-H) 




SET COMMAND(5 


TO ROW (1-8) 


S8-S9 : 


SET COMMAND(4 


TO COLUMN (A-H) 




SET COMMAND(5 


TO ROW (1-8) 


S10-S6 : 


SET COMMAND(2 


TO COLUMN (A-H) 




SET COMMAND(3 


TO ROW (1-8) 


S12-S13 : 


SET COMMAND(2 


TO COLUMN (A-H) 




SET COMMAND(3 


TO ROW (1-8) 


OTHERS : 


(NO SEMANTICS) 





Table 2: Semantics for the lexical finite state machine. 
These routines are used to set up the array TOKEN. 



L1-L2 


SETTOKEN(l) 


TO 




SET TOKEN(2) 


TO 6 


L4-L5 


SETTOKEN(l) 


TOO 




SET TOKEN(2) 


TO 4 


L8-L9 


SETTOKEN(l) 


TOO 




SETTOKEN(2) 


TO 3 


L13-L14 : 


SETTOKEN(l) 


TOO 




SET TOKEN(2) 


TO 1 


L17-L18 : 


SETTOKEN(l) 


TOO 




SET TOKEN(2) 


TO 2 


L26-L27 : 


SETTOKEN(l) 


TOO 




SETTOKEN(2) 


TO 5 


L1-L19 : 


SET TOKEN (2) 


TO INPUT CHARACTER 


L1-L22 


SETTOKEN(l) 


TO INPUT CHARACTER 


L19-L20 : 


SETTOKEN(l) 


TO INPUT CHARACTER 


L22-L20 : 


SETTOKEN(2) 


TO INPUT CHARACTER 


L15-L20 : 


SETTOKEN(l) 


TO INPUT CHARACTER 




SET TOKEN(2) 


TO "C" 


L23-L20 : 


SETTOKEN(l) 


TO INPUT CHARACTER 




SETTOKEN(2) 


TO "F" 


OTHERS : 


(NO SEMANTICS) 



together input symbols to determine the 
tokens which have been input. The next 
process which must be performed is the 
process of syntactic analysis, checking the 
order of the tokens which have been formed 
to see whether they form a valid command. 
For example, the two "commands": 

MOVE FROM Al TO C3 
Al C3 FROM TO MOVE 

are both composed of valid tokens for the 
example language but only the first com- 
mand is syntactically correct. To determine 
the syntactic correctiness of a command an- 
other finite state machine must be designed. 
This machine, rather than having paths la- 
beled with symbols from a character set, will 
have labels which are valid tokens of the lan- 
guage being processed. Figure 4 shows a fi- 
nite state machine which will accept the 
valid commands of the language. 

Semantic Routines 

At this point two finite state machines 
have been produced which can be used to 
recognize valid commands for the game. 
Before these machines are used to help 
produce code to process actual commands, 
the results of processing each command 
must be defined. After a decision has been 
made regarding these results, semantic 
routines, routines to carry out the processing 
of the various commands, should be associ- 
ated with each state transition path of the 
finite state machines. In our system, each 
command will be converted to a set of codes 
and placed in an array called COMMAND 
which will have five elements. COMMAND( I) 
will be set to a code describing the command 
operation (1=MOVE, 2=CAP, 3=TAKE), 
COMMAND(2) and COMMAND(3) will 
hold, respectively, the column and the row 
position associated with the FROM key- 
word. COMMAND(4) and COMMAND(5) 
will hold the column and row position 
associated with the TO keyword. Figure 5 
shows the expected results of processing 
following two commands: 

MOVE TO Cl FROMH6 
TAKE FROM A7 

For the finite state machine that is shown 
in figure 4, table 1 shows the semantics 
which will produce the desired results. 
Routines for paths such as S1-S2(<MOVE>) 
set the first element of the COMMAND 
array to indicate which command was rec- 
ognized. Path S2-S3 is an implicit recog- 
nition of the word FROM and has no 
semantics associated with it since nothing 
must be done until the path S3-S4 is tra- 
versed. When this action occurs, the row and 



180 



lune 1979 © BYTE Publications 1 



What's 




? 



* 



Learn About Artificial 



INTRODUCTION TO ARTIFICIAL INTELLIGENCE by Philip C 
Jackson Jr. 

D This book surveys the field beginning with Turing's test, the mathe- 
matical description of phenomena, finite state machines and limits to 
computational ability, followed by chapters on problem solving, game 
playing, pattern perception, theorem proving, semantic information 
processing, parallel processing, evolutionary systems, robots, and a 
look at the future of the field. This thoughtful and unusual book will 
make a useful addition to your library. A 50-page bibliography is in- 
cluded. 453 pp. $18.50 hardcover (no photo). 

ARTIFICIAL INTELLIGENCE by Patrick Henry Winston. 
□ This book is designed for use in a course on artificial intelligence, 
but should prove invaluable to the newcomer to the topic, as well as 
being useful to the experienced as a reference text. Part One is set up 
to be used as an introduction to the key ideas of the subject, including 
the basics of elementary representation, symbolic constraint exploi- 
tation, search, and control. In addition, understanding natural language, 
representing common sense meaning, computer vision, and expert 
problem solving are covered. Part Two covers the programming lan- 
guage LISP, its organization and uses. Profusely illustrated. Only 
$17.95 hardcover. 444 pp. 



bots 



AN INTRODUCTORY 



ADAPTIVE INFORMATION PROCESSING, 
SURVEY by Jeffrey R Sampson. 

D Even the most complex of today's computers is dwarfed by the ca- 
pabilities of its designer's brain. Imitation of the capabilities and adap- 
tive nature of biological information processing systems has long been a 
goal of computer designers. Jeffrey R Sampson presents an introduc- 
tory survey of this field. From the fundamentals of information and in- 
formation processing entities, he examines the richness of biological in- 
formation processing and goes on to cover the application of computers 
to artificial intelligence. His is a view which unifies the diverse aspects 
of the subject of artificial intelligence, emphasizing adaptive behavior. 
214 pp. $14.80 hardcover. 

COMPUTER MODELS OF THOUGHT AND LANGUAGE edited by 
Roger C Schank & Kenneth Mark Colby. 

□ Part of the current work in Al involves the modeling of human 
mental processes in computer programs. Here is a collection of articles, 
which deal with natural language models, models of belief systems, and 
models of memory and cognition. Required reading for Al enthusiasts. 
450 pp. $24.95 hardcover. 



HOW TO BUILD A COMPUTER-CONTROLLED ROBOT by Tod 
Loofbourrow. 

□ This book combines the dream of robotics— to create an intelligence 
other than human— with the reality, by providing both hands-on experi- 
ence with robotics and an application of a microprocessor. It details 
the step-by-step directions for building a robot, named "Mike," con- 
trolled by a KIM-1 microprocessor, with the complete control programs 
clearly written out. 132 pp. $7.95. 



ROBOTS ON YOUR DOORSTEP by Nels Winkless and Iben Browning. 
□ "This book will amaze you, frighten you, nauseate you, excite 
you. . .it will probably make you think about things you have never 
contemplated before," states the introduction to this clever and well- 
written account of robots: past, present, and future. Intelligence, 
artificial intelligence, brain structure and simulation, and characteristics 
of robots are only a few of the areas explored. 1 79 pp. $6.95. 



HOW TO SOLVE PROBLEMS by Wayne A Wickelgren. 

□ Analyzes and systematizes the basic methods of solving 
mathematical problems. The methods are described in terms of a 
modern theory derived from research in computer simulation of think- 
ing. Examples illustrating these methods include chess problems, 
logical puzzles, and railroad switching problems frequently en- 
countered in science and engineering. $6.50. 



THE THINKING COMPUTER: MIND INSIDE MATTER by Bertram 
Raphael. 

D With a minimum of technical jargon, this book discusses the capa- 
bilities of modern digital computers and how they are being used in 
contemporary Al research. It discusses the progress of Al, the goals, 
and the variety of current approaches to making the computer more 
intelligent. $8.50 

COMPUTER POWER AND HUMAN REASON by Joseph Weizenbaum. 

□ If you're presently a programmer by trade or skill, you'll see a philo- 
sophy of computer use and abuse propounded. If you're a novice, the 
tutorial and explanatory chapters of this book serve as an excellent 
and eminently readable background source. This includes an out- 
standing, low level explanation of what an algorithm is, and how 
computers execute effective algorithms. $6.50 



HITS 

■drl I ^P IRC Books to erase the impossible 
POB 428, 25 Route 101 West, Peterborough NH, 03458 



For your convenience in ordering, please use this page plus the 
order form on page 200. You may photocopy this page. 

DIAL YOUR CHARGE CARD ORDERSTOLL FREE 
(800)258-5477. Mon-Fri9-5PM 

* Artificial Intelligence Quotient 



BYTE June 1979 



181 



column are stored in the COMMAND array 
to indicate the FROM position. When a 
final state is reached, an entire command 
has been parsed and the COMMAND array 
contains all of the necessary information to 
fully describe the command. 

The lexical finite state machine shown in 
figure 3 will be used by the syntactic finite 



state machine just described to obtain 
tokens from the input stream when they are 
needed. The output from the lexical finite 
state machine will be a 2 element array 
named TOKEN which will contain the 
following codes. If the token is <POS>, 
then the first element of TOKEN will be 
the row number and the second element 



Listing 1: Routine constructed for the lexical finite state machine. 



LEX: 



Ll: 



L3: 



L4: 



* 
L6: 



L7: 



LEX IS A SUBROUTINE WHICH EXAMINES INPUT 
CHARACTERS UNTIL IT FINDS A VALID TOKEN OR 
AN INPUT ERROR. SUBROUTINE RCHAR READS THE 
NEXT CHARACTER FROM THE INPUT BUFFER INTO 
CHAR. '#' IS THE END-OF-BUFFER CHARACTER. 
LEX SETS TOKEN (THE TWO ELEMENT ARRAY) TO 
THE FOLLOWING CODES: 



TOKEN(2) 







TOKEN(l) 


<MOVE> 








<CAP> 


_ 





<TAKE> 


— 





<TO> 


— 





<FROM> 


— 





<END> 


— 





ERROR 


— 





<POS> 


- 


ROW: 1-8 


SUBROUTINE; 




TOKEN(l) 


= 




STATE 1 - 


BEGINNING STATE 


CALL RCHAR( ) ; 

IF CHAR = ' 'THEN GO TO Ll; 


IF CHAR = 


T 


THEN GO TO L3; 


IF CHAR = 


'M' 


THENGOTOL10; 


IF CHAR = 


'C 


THENGOTOL15; 


IF CHAR = 


'F' 


THENGOTOL23; 


IF CHAR = 


'#' 


THEN DO; 


TOKEN(2) 
RETURN; 


= 6; 


END; 






IF CHAR = 


'A' 


| 'B' | 'D' | 'E' | 'G' 




'H' 


THEN DO; 


TOKEN(2) 
GOTOL19 


= CHAR; 
1; 


END; 






IF CHAR = 


'1' 


1 '2' 1 '3' 1 '4' I '5' 




V 


1 '7' 1 '8' THEN DO 


TOKEN(l) 
GO TO L2J 


= CHAR; 


END; 






GOTOLEXERR; 



1 

2 
3 
4 
5 
6 
7 
COL: A-Z 



STATE 3 - HAVE FOUND T 

CALL RCHAR( ); 

IF CHAR = 'O' THEN GO TO L4; 

IF CHAR = 'A' THEN GO TO L6; 

GOTOLEXERR; 

STATE 4 - HAVE FOUND <TO> 

CALL RCHAR( ) ; 

IF CHAR = ' 'THEN DO; 

TOKEN(2) = 4; 

RETURN; 

END; 
GOTOLEXERR; 

STATE 6 - HAVE FOUND 'TA' 

CALL RCHAR( ) ; 

IF CHAR = 'K' THEN GOTO L7; 

GOTOLEXERR; 

STATE 7 - HAVE FOUND 'TAK' 

CALL RCHAR(); 

IF CHAR = 'E' THEN GO TO L8; 



* 
* 
L8: 



L15: 



* 
LIS 



L20: 

* 

* 
L22: 



L23: 



GOTOLEXERR; 

STATE 8 - HAVE FOUND <TAKE> 

CALL RCHAR(); 

IF CHAR = ' 'THEN DO; 

TOKEN(2) = 3; 

RETURN; 

END; 
GOTOLEXERR; 

STATES 10 THRU 13 ARE VERY SIMILAR 
TO STATES 3 THRU 8 ABOVE AND ARE 
NOT SHOWN. 

STATE 15 - HAVE FOUND 'C 
CALL RCHAR( ); 

IF CHAR - 'V I '2' I '3' I '4' I '5' I 
'6' I '7' I '8' THEN DO; 

TOKEN(l) = CHAR; 

TOKEN(2) = 'C; 

GOTOL20; 

END; 
IF CHAR = 'A' THEN GOTO L16; 
GOTOLEXERR; 

STATES 16 AND 17 RECOGNIZE THE REST OF 
<CAP> AND ARE NOT SHOWN. 



HAVE FOUND COLUMN LETTER (A-Z) 



'2' I '3' 
•T I '8' 
CHAR; 



I '4' I '5' I 
THEN DO; 



STATE 19 

IF CHAR = '1' 
'6' 
TOKEN(l) • 
GOTOL20; 
END; 

GOTOLEXERR 



STATE 20 - HAVE FOUND <POS> 
IF CHAR = ' 'THEN RETURN; 
GOTOLEXERR; 

STATE 22 - HAVE FOUND ROW NUMBER (1-8) 
IF CHAR = A' I 'B' I 'C I 'D' I 'E' I 
-p. | , G , | , H , T HENDO; 

TOKEN(2) = CHAR; 

GOTOL20; 

END; 
GOTOLEXERR; 

STATE 23 - HAVE FOUND 'F' 
IF CHAR = '1' I '2' I '3' I '4' I '5' I 
'6' I '7' I '8' THEN DO; 

TOKEN(l) = CHAR; 

TOKEN(2) = 'F'; 

GOTOL20; 

END; 
IF CHAR = 'R'THENGOTOL24; 
GOTOLEXERR; 

STATES 24 THRU 26 ARE SIMILAR TO OTHER 
STATES WHICH RECOGNIZE KEYWORDS AND ARE 
NOT SHOWN. 

LEXERR 



- AN ERROR HAS BEEN ENCOUNTERED 
IN THE INPUT STRING. 
LEXERR: TOKEN(l) = 0; 
TOKEN(2) = 7; 
RETURN; 
END LEX; 



182 



June 1979 © BYTE Publications Inc 



Microcomputer 

UPDATES 

Keeping up with the blizzard of new microelectronic 
components is a formidable task facing any engineer. First 
there are innumerable part announcements; next comes 
unreadable literature, hastily compiled by the vendor who 
places more emphasis on selling you than telling you. And 
what about availability? Will a part be available within three 
months of its announcement, or three years? 

Osborne & Associates' publications offer a solution to these 
problems. You can bypass the vendor announcements, 
ambitious claims and incomprehensible literature. 

An Introduction to Microcomputers: 

Volume 2 — Some Real Products 
Volume 3 — Some Real Support Devices 

contain complete, objective part descriptions of virtually 
every microprocessor and support device on the market 
today. 

Volume 2 and Volume 3 of contain descriptions of products 
through June 1978. To remain current, each book has a yearly 
update series to which you can subscribe. The first is the 
1978-1979 Update Series. 

The updates provide descriptions of the newest products 
throughout the year. Each update series is bi-monthly; you 
receive six updates per year per book, or 12 updates if you 
subscribe to both series. Volume 2 and Volume 3 sold loose- 
leaf to allow easy insertion of update material. 

Among the newest part descriptions appearing in the first year's 
update series: 



• Z8, Z8000 

• A/D and D/A converters 

• Floppy Disk Controllers 

• Am9511 

• Sy6551, R6531 

• 6801, 6809 
•COPs, PPS4 

• TM990 Bus 

• Heath H8 Bus 

• RS449-422-423 

• S2651.S2652 

• MC6854 



An Introduction to Microcomputers: 
Volume 3 — Some Real Support Devices 




An Introduction to Microcomputers: 
Volume 2 — Some Real Microprocessors 




BASIC 
Software 

• Complete source listings 
with remarks 

• 76 tested, working programs 

• Standard BASIC 

• Math, statistics 
personal finance and 
general interest programs 



Some Common BASIC Programs, by Lon Poole and Mary 
Borchers. Designed for people who can use a variety of prac- 
tical BASIC programs. 76 programs are published in the 
book, which includes program descriptions, sample runs, and 
source listings with remarks. The documentation is complete 
so that a minimum of programming knowledge is required in 
order to use the programs. 200 pp., softbound. (#06-3, $8.50.) 

'Price increases lo $9,50 July I. l l >7°. 

For PET Users 

the PET® Cassette 

If you use a Commodore PET, you have probably realized 
that many BASIC programs require modification in order to 
run optimally on the PET. We have done the reprogramming 
necessary for Some Common BASIC Programs' programs to 
conform to the PET's BASIC syntax, calculation accuracy 
and video display, and now offer these listings for purchase 
on our PET Cassette. 

If you don't already own a Some Common BASIC Programs 
book, we urge you to purchase one for program 
documentation and user instructions. (#25-X, PET Cassette, 
$10.00.) 



gua*^* 



Volume 2 1400pp. loose-leaf (#15-21 $25.00 Volume 3 800pp looM-tar (#18-71 $1500 
Volume 2 binder (#16-01. $ 5.00 Volume 3 binder (#19-5). S 5.00 

Volume 2 I°78-|U7" updates (#971. $25.00 Volume 3 1978-1979 updates (#981.525.00 

SPECIAL DISCOUNT: Combined purchase price of both Volume 2 and Volume .1 
updalc subscriptions iusl $40.00 Specify Volume 2 and 3 updates (#99|. $40.00 

oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo 



-Sr 



We warrant each 
PET Cassette 

to be free 

from defects 

in material 

and manufacture. 




^f^OSBORNE & ASSOCIATES, INC. 

630 Bancroft Way, Dept. 121 
Berkeley, CA 94710 



(415) 548-2805 
TWX 910-366-7277 



Book /Cassette 



Quantity Amount 



PHONE 

SHIPPING {Shipping for large orders to be arranged) 
Vol. 2 and Vol. 3 update subscriptions: 

□ $4.00 foreign air mail shipping per update subscription 
n No charge in the U.S. - 4th class mail ONLY 

Books & Binders: 

D All foreign orders $4.00 per book for airmail 

□ 50.45 per item 4th class in the U.S. (allow 3-4 weeks) 
D $0.75 per item UPS in the U.S. fallow 10 days) 

d $1.50 per item special rush shipment by air in the U.S. 

Circle 292 on inquiry card. 



Calif, residents add 6% sales tax. 
S.F. BART residents add 6-1/2 % 
No lax on update subscriptions. 



California residents tax 



Updates: 



Payment in advance must be enclosed for purchases of up to $70.00. Invoicing U.S. 
purchases over $70.00 available upon approval of your account. All foreign orders 
must be prepaid in U.S. dollars drawn on a U.S. bank. 



Shipping 

TOTAL AMOUNT 
ENCLOSED 



Cassettes: 

□ No additional charge in the U.S. 
D SI. 50 each foreign air mail 



Please send the following information: 

a Becoming an O&A dealer a List of foreign distributors 

D School discounts a Current catalog 



S1032 
June 1979 183 



Listing 2: Routine constructed for the syntactical finite state machine. 



* 

* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 

SYN: 

* 

* 

SI: 



S2: 



S3: 



S4: 

* 
* 

S5: 



S6: 



SYN IS A SUBROUTINE WHICH EXAMINES INPUT 
TOKENS TO DETERMINE IF A COMMAND IS OR IS 
NOT VALID. SYN USES SUBROUTINE LEX TO 
OBTAIN THE TOKENS FROM THE INPUT STREAM. 
A FIVE ELEMENT ARRAY NAMED COMMAND IS 
SET USING THE FOLLOWING CODES : 



COMMAND(l) 
COMMAND(2) 
COMMAND (3) 
COMMAND(4) 
COMMAND(5) 

SUBROUTINE; 



0=ERROR, l=MOVE, 2=CAP, 3=TAKE. 
COLUMN (A-H) OF "FROM". 
ROW (1-8) OF "FROM". 
COLUMN (A-HJ OF "TO". 
ROW (1-8) OF "TO". 



SYNERR: 
END SYN; 



STATE 1 - BEGINNING STATE 

CALLLEX( ); 

IF TOKEN(1)=0 & TOKEN(2)=l THEN DO; 

COMMAND(l) = 1; 

GOTOS2; 

END; 
IF TOKEN(1)=0 & TOKEN(2)=2 THEN DO; 

COMMAND(l) = 2; 

GOTOS2; 

END; 
IF TOKEN(1)=0 & TOKEN(2)=3 THEN DO; 

COMMAND(l) = 3; 

GO TO S3; 

END; 
GO TO SYNERR; 

STATE 2 - <MOVE> OR <CAP> FOUND 
CALL LEX( ) ; 

IF TOKEN(1)=0 & TOKEN(2)=5 THEN GO TO S3; 
IF TOKEN(1)=0 & TOKEN (2)=4 THEN GO TO S4; 
GO TO SYNERR; 

STATE 3 - <MOVEXFROM> FOUND 

CALLLEX( ); 

IF TOKEN(1)>0 THEN DO; 

COMMAND(2) = TOKEN(2); 

COMMAND(3) = TOKEN(l); 

GOTOS4; 

END; 
GO TO SYNERR; 

STATE 4 - <MOVEXFROMXPOS> FOUND 
CALLLEX( ); 

IF TOKEN(1)=0 & TOKEN(2)=4 THEN GO TO S5; 
GO TO SYNERR; 

STATE 5 - <MOVEXFROMXPOSXTO> FOUND 

CALLLEX(); 

IF TOKEN(1)>0 THEN DO; 

COMMAND(4) = TOKEN(2); 

COMMAND(5) = TOKEN(l); 

GOTOS6; 

END; 
GO TO SYNERR; 

STATE 6 - ENTIRE COMMAND FOUND 

CALLLEX(); 

IF TOKEN(1)=0 & TOKEN(2)=6 THEN RETURN; 

GO TO SYNERR; 

STATES 8 THRU 13 ARE VERY SIMILAR TO STATES 
2 THRU 6 AND ARE NOT SHOWN. 

SYNERR - INVALID COMMAND SYNTAX. 

COMMAND(l) = 0; 

RETURN; 



will be the column letter. If the token is 
not <POS>, then the first element of 
TOKEN array will be set to zero and the 
second element will be a code indicating 
which type of token was recognized (1 for 
<MOVE>, 2 for <CAP>, 3 for <TAKE>, 
4 for <TO>, 5 for <FROM>, 6 for 
<END>). The semantic routines associated 
with the lexical finite state machine to 
set TOKEN correctly are shown in table 2. 

Implementation 

The first step in implementing, the com- 
mand language is the conversion of the 
lexical finite state machine into a sub- 
routine which locates the next token in 
the input stream and places the necessary 
codes into TOKEN as described above. 
If at any time, an error is detected while 
attempting to recognize a new token from 
the input stream, then TOKEN(l) is set to 
zero, TOKEN(2) is set to 7 and this routine 
returns to its calling routine. 

A program named LEX, written in a 
BASIC-like language, which accomplishes 
these results is shown in listing 1. Prior to 
the invocation of this routine, the input 
command must be obtained from the user 
and stored in a buffer followed by a blank 
and the end of line character. A routine 
RCHAR is assumed to exist, which reads 
the next character from the input buffer 
and places it into the variable CHAR. 
Because of the way that the program has 
been designed, the flow of the program is 
easy to understand and modifications are 
easy to make if necessary, especially if 
the corresponding finite state machine 
diagram is available. The program is divided 
into sections which correspond to the 
states in the finite state machine. Each 
section determines which state transition 
pointer should be followed from the 
character which is being scanned. It then 
performs the semantics associated with this 
state transition pointer and moves along 
the path by means of the appropriate GO- 
TO statement. If during the processing of 
any state, the input character being ex- 
amined does not correspond with any 
valid state transition pointer, the routine 
sets TOKEN to the error code described 
above and returns to its caller. 

Listing 2 shows the routine constructed 
from the syntactic finite state machine. The 



184 



June 1979 © BYTE Publications Inc 



S reasons why you should not buy 

the electric pencil II™ 

^^ ° 1978 Michael Shrayer 

Check the appropriate box(es): 

You love typing the same copy 20 thousand times a day. 

□ Your secretary can type 250 words per minute. 

□ You're dying to spend $15,000 on a word processing system, just for the 
tax investment credit. 

□ All your capital assets are tied up in a 10-year supply of correction fluid. 

□ You never commit a single thought to paper. 

If you have checked one or more boxes, you do not need The Electric Pencil. 
On the other hand, you may want to join the thousands of people who haven't 
checked a single box. 




The Electric Pencil II is a Charac- 
ter Oriented Word Processing System. 
This means that text is entered as a 
string of continuous characters and is 
manipulated as such. This allows the 
user enormous freedom and ease in the 
movement and handling of text. Since 
line endings are never delineated, any 
number of characters, words, lines or 
paragraphs may be inserted or deleted 
anywhere in the text. The entirety of 
the text shifts and opens up or closes 
as needed in full view of the user. The 
typing of carriage returns or word 
hyphenations is not required since 
lines of text are formatted automatic- 
ally. 

As text is typed and the end of a 
line is reached, a partially completed 
word is shifted to the beginning of the 
following line. Whenever text is insert- 
ed or deleted, existing text is pushed 
down or pulled up in a wrap around 
fashion. Everything appears on the 
video display as it occurs, which elim- 
inates guesswork. Text may be review- 
ed at will by variable speed scrolling 
both in the forward and reverse direc- 
tions. By using the search or search 
and replace functions, any string of 
characters may be located and/or re- 
placed with any other string of charac- 
ters as desired. 

Numerous combinations of 
line length, page length, line 
spacing and page spacing permit 
automatic formatting of any 
form. Character spacing, bold 
face, multicolumn and bidirec- 
tional printing are included in 
the Diablo versions. Multiple 
columns with right and left justified 
margins may be printed in a single pass. 

Wide screen video 

Versions are available for Imsai 
VIO video users with the huge 80x24 
character screen. These versions put al- 
most twice as many characters on the 



CP/M versions 

Digital Research's CP/M, as well as 
its derivatives, including IMDOS and 
CDOS, and Helios PTDOS versions are 
also available. There are several NEC 
Spinwriter print packages. A utility 
program that converts The Electric 
Pencil to CP/M to Pencil files, called 
CONVERT, is only $35. 

Features 

• CP/M, IMDOS and HELIOS compatible 

• Supports four disk drives 

• Dynamic print formatting 

• DIABLO and NEC printer packages 

• Multi-column formatting in one pass 

• Print value chaining 

• Page-at-a-time scrolling 

• Bidirectional multispeed scrolling con- 
trols 

• Subsystem with print value scoreboard 

• Automatic word and record number 
tally 

• Cassette backup for additional storage 

• Full margin control 

• End-of-page control 

• Non-printing text commenting 

• Line and paragraph indentation 

• Centering 

• Underlining 

• Bold face 

Upgrading policy 

Any version of The Electric Pencil 



Have we got a version 
for you? 

The Electric Pencil II operates 
with any 8080/Z80 based microcom- 
puter that supports a CP/M disk sys- 
tem and uses an Imsai VIO, Processor 
Tech. VDM-1, Polymorphic VTI, Solid 
State Music VB-1B or Vector Graphic 
video interface. REX versions also 
available. Specify when using CP/M 
that has been modified for Micropolis 
or North Star disk systems as follows: 
for North star add suffix A to version 
number; for Micropolis add suffix B, 
e.g.,SS-IIA, DV-IIB. 



Vers. 


Video 


Printer 


Price 


SS-II 


SOL 


TTY or similar 


$225 


SP-II 


VTI 


TTY or similar 


225 


SV-II 


VDM 


TTY or similar 


225 


SR-II 


REX 


TTY or similar 


250 


Sl-ll 


VIO 


TTY or similar 


250 


DS II 


SOL 


Diablo 1610/20 


275 


DP-II 


VTI 


Diablo 1610/20 


275 


DV-II 


VDM 


Diablo 1610/20 


275 


DR-II 


REX 


Diablo 1610/20 


300 


Dl-ll 


VIO 


Diablo 1610/20 


300 


NS-II 


SOL 


NEC Spinwriter 


275 


NP--II 


VTI 


NEC Spinwriter 


275 


NV-II 


VDM 


NEC Spinwriter 


275 


NR-II 


REX 


NEC Spinwriter 


300 


Nl-ll 


VIO 


NEC Spinwriter 


300 


SSH 


SOL 


Helios/TTY 


250 


DSH 


SOL 


Helios/Diablo 


300 




MICHAEL SHRAYER SOFTWARE, INC 

1253 Vista Superba Drive 

Glendale, CA. 91205 

(213)956-1593 



may be upgraded at any time by sim- 
ply returning the original disk or cas- 
sette and the price difference between 
versions, plus $15 to Michael Shrayer 
Software. Only the originally purchas- 
ed cassette or diskette will be accepted 
for upgrading under this policy. 



Attention: TRS-80 Users! 

The Electric Pencil has been de- 
signed to work with both Level I 
(16K system) and Level II mod- 
els of the TRS-80, and with vir- 
tually any printer you choose. 
Two versions, one for use with 
cassette, and one for use with 
disk, are available on cassette. 
The TRS-80 disk version is easily tran- 
sferred to disk and is fully interactive 
with the READ, WRITE, DIR, and 
KILL routines of TRSDOS 2.1. 
Version Stora ge Price 

TRC Cassette $100. 
TRD Disk $150. 



screen 



in 



Demand a demo from your dealer ! 



Circle 319 on inquiry card. 



BYTE June 1 97') 



185 



Figure 6: An alternate 
solution for the lexical 
analysis of the game pro- 
gram. 




structure of this program is almost identical 
to the structure of the previous routine. This 
time each section of the program examines 
the next token which has been obtained by 
a call to LEX, performs the appropriate 
semantics for the path to be traversed, and 
then moves to the next defined state. 
Again, if either an invalid token is encoun- 
tered or if the routine LEX returns an error 
code, this routine returns to its caller after 
leaving an error code of zero in COMMAND. 
Due to the way these routines were con- 
structed, a single error code is returned if 
any error occurs in a command. But, be- 
cause the exact location in the state dia- 
gram is known whenever an error occurs, 
more descriptive error messages can be 
generated, or fix up action may be per- 
formed. If the command : 

MOVE TO A8 

is entered, then the syntactic routine would 
encounter the <END> token while process- 
ing state S8. Based on the present form of 
the program, the error message printed 
would most likely be "INVALID COMMAND 
SYNTAX - ENTER NEW COMMAND" 
since no attempt is made to analyze the 
syntax error. 

However, instead of merely returning 
the zero error code to its caller, the syntactic 
routine could return a unique code to indi- 
cate that the FROM section of the command 
is missing. The calling routine could then 
prompt the user for the coordinates of the 
piece which is to be moved. Depending on 
the extent to which this error checking is 




carried out, a very elaborate and easy to 
use command system can be created. 

Other Representations 

The finite state machine diagrams in fig- 
ures 3 and 4 have been chosen to illustrate 
the techniques of using finite state machines 
for designing command languages and do not 
represent the only way to implement this 
sample command language. An alternate 
finite state machine which performs lexical 
analysis for the example game is shown in 
figure 6. In this finite state machine all 
of the commands and keywords (MOVE, 
CAP, TAKE, TO and FROM) map into the 
single token <KEYWORD>. Semantic rou- 
tines associated with the paths L1 -L6, LI -L7, 
L6-L7 and L7-L7 would be used to save the 
symbols which have already been matched. 
Then when path L7-L8 is traversed, the 
semantics associated with this path would 
include a table lookup routine to identify 
the command or keyword and correctly 
fill in the TOKEN array. 

To illustrate this technique, observe how 
the finite state machine in figure 6 would 
recognize the capture command. Starting 
with state LI, the C would cause the tra- 
versal of path L1-L6 and would be saved to 
later help identify the token being parsed. 
The A and the P would similarly cause the 
program to move along the paths L6-L7 
and L7-L7, respectively, and again these 
letters would be saved by the semantics 
associated with these paths. Finally, the 
ending blank would cause the traversal 
of path L7-L8. At this time, the semantics 
associated with path L7-L8 would examine 
the letters which had been saved, identify 
the parsed word as either a valid token or 
an invalid word, and correctly fill in the 
TOKEN array with the code for the token 
or the error code. 



<P0S> 



<KEYW0RD> 



186 June 1979 © BYTt Publications Inc 



Certain advantages exist for both the 
method used in the finite state machine 
in figure 3 and for this method but as the 
number of keywords increases, this method 
becomes much more efficient in terms of 
memory used. 

Conclusion 

The purpose of this article has been to 
show how finite state machine theory may 
be applied to produce correct and well 
structured code for command recognizers. 
I have used finite state machines to produce 
both an information retrieval command 
language and a FORTRAN free format 
input processor of character strings and 
numbers; and methods similar to these 
shown here have significantly speeded up 
the implementations. The efficiency of this 
method will vary depending on which 
language is used to program the procedures 
and on the programming techniques used. 
The sample programs previously shown were 
designed with clarity in mind and are not 
the most efficient routines which could 
have been written. I would recommend 
that the lexical finite state machine be 
coded in assembler language if possible 
since many techniques exist to improve 
the performance of character by character 



scanning and comparison. Of course, both of 

the routines may be written in any language 
desired, but because of the memory space 
limitations of most small computers, assem- 
bler language would probably be an asset. 
As memory size increases, however, the 
advantages of assembler tend to decrease. 
Whichever language is chosen, the finite 
state machine method of designing a com- 
mand language should produce a system 
which runs correctly after less programming 
effort, which can be more readily under- 
stood and changed as necessary, and which 
can provide a series of error and prompting 
messages that help to make the system 
easier and more enjoyable to use." 



REFERENCES 

For examples of the use of finite state machines 
to identify tokens of a programming language I 
refer the reader to the following: 

Gries, David, "The Scanner," Compiler Construc- 
tion for Digital Computers, John Wiley and Sons, 
New York, 1971 , pages 64 thru 71 . 

More information on finite state machines and 
their theory can be found in many other books, 
including: 

Gill, A, Introduction to the Theory of Finite State 
Machines, McGraw-Hill, New York, 1962. 



The 



8100 



by 



hum 

! ELECTRONICS 



An S-100 Bus Adapter/Motherboard 

fortheTRS-80 

plus a whole lot more!!! 




% 







i S-100 BUS INTERFACE 
> 6 SLOT MOTHERBOARD 



Tha flioo allow i Radio Shach 1BS-8Q computer ts be 
interfiles! to iJw popular S-100 lius for n iei n uiy expansion 

and extended 1-0 c.ipi !ji ii L io> Vnt example, you enn now 
easily iidd mure memory, floppy disc systems, PROM 
boards, printer Interfaces, multi-purpose I/O boonh, AC 

device control lent, ami n whole host of other varied periph- 

Thc 8100 has its own built-in slot motherboard which 
includes our unique card guide system which keeps the 
bnnniw in their places 

The 8101) has support circuitry anil socket for eight 
IGKdvnumic HAM chip! .illuwuid you to expand the mem- 
ory of pour TRS-80 bv lf.K without hsvine. to buv any S-ltH. 
RAM txiurds 



• SERIAL RS232/20ma I/O 

• PARALLEL INPUT AND OUTPUT 

• SPACE FOR 16K DYNAMIC RAM 

• CAN USE LEFT OVER 4K CHIPS 

• LOW COST- PRICES START AT S185* 

• AVAILABLE IMMEDIATELY 



IT you pun:h;ised .in fXpniMuii iiii-iiniry kit lor TRS-WI 
you could he left with eight 4K HAM chips and nowhere lo 
put trMtnl Well, they can pi ii, the HAM sockets instead! 
Thill's right, you can use either -IK or 1BK chips and ml- 



sthen 



like 



The 8101) lias ,i lull IISJIIJ Jl) ma serial interface who's 
leulures include: RSa:f'J and .:t ma current loop interface, 
software programmable baud rate from DC to .'.UK baud. 
software programmable modem control lines, on board 
DB-26 connottor and much more 

The Hliin also has an H bit parallel input port and 
an H hit parallel output port Both lire latched, have both 
positive and negative >tmbe inputs anil output,-, and have 



ple 



s of .hi 



bihty. 



PRICES START AS LOW AS $185* (S-100 bus interface only) 



fiUHJ 



I ELECTRONICS 



1429 Maple St. 

San Mateo, CA 

94402 

(415) 573-7359 



DEALER INQUIRIES INVITED 

■Extra S-100 connectors. RAM support. 
10 Circuitry optional 
USA DOMESTIC PRICE ONLY. 



RuH)™HiMINI-8100 



! Fl Ff TRONIC*! AN S-100 BUS 

itLtllHUNIl!, ADAPTER/MOTHERBOARD 
FOR THE TRS-80* 



MINI-SIZE! 
MINI-PRICE! 




but MAXI-PERFORMANCE! 



HUH Electronics' Klttl is thfl established 
leader in S*I0CVTRS-80 interfaces, running re- 
liably since November l'J78 and giving you 
the must features for "OUT dollar. Bnl some 

folks don't need all (he kiwi's versatility or 
want something more compact, 



So we created the MIN1-8I00. The MINI- 
8100 has the same proven reliable S40Q Bus 
interface circuitry as It's big brother coupled 
with a -I slot shielded motherboard. It con- 
nects 10 the TRS-XDor to the expansion inter- 



lace and opens up the vast world of S-100 Bus 
products 10 the TRS-8Q owner. 

For those of you wlio already own an S-100 
mainframe or motherboard, the MINI-8100 
may be purchased withoui the built-in 
motherboard. (MINI-H100S,. Just plug it in 
and go! 

The MINI-8100 has [he same high quality as 
all HUH Electronics products — easy assem- 
bly, fully socketed, solder mask and silk 
screen component legend, comprehensive 
manual and design excellence that speaks tor 
itself. 



PRICES 

MINI-HUM) KIT - includes all parts and one S-100 connector 

MINI-HIOO ASM • assembled and tested, includes four S-100 a 

M1N1-8100S KIT - S-100 sized board, plugs inio mainframe 

MINI-MOOS ASM - same as above, hut assembled and lestcd 



-SU5 
• $155 
-$ 95 
-$125 



fiUHl 



1 ELECTRONICS 



1429 Maple St. 

San Mateo, CA 

94402 

(415) 573-7359 



■TRS-SO is ii Radio Shack- product. 



ORDERING INFO: The MINI-8100 is availa- 
ble hom leading computer dealers or factory 
direct. Please include S-i for shipping and 
handling. CA residents include 6c; sales lax. 
We accept VISA or Mnstercharge or we can 
ship COD. 

USA DOMESTIC PRICES ONLY. 

DEALER INQUIRIES INVITED 



Circle 169 on inquiry card. 



Circle 1 72 on inquiry card. 



June 1979 © BYTE Publications Inc 



187 



Technical Fowm 



Approximation 
Makes a Magnitude 
of Difference 



PERCENT 
ERROR IN 
APPROXIMATION 




5 10 15 20 25 30 35 «w 40 \^5 

PHASE ANGLE BETWEEN REAL AND IMAG (DEGREES) K= 0.375 

X K=0.3 



.3125 



Figure I: A plot of the percent error in the magnitude approximation for 
different values of K. We are approximating the square root of REAL? + 
IMA G* by the formula L + KS, where L Is the larger and 5 is the smaller 
value of the absolute values of the real and imaginary parts of a vector. 



K 


PEAK ERRORS VARY FROM (%) 


RMS ERROR (%) 


1 

.5 (1/2) 
.414214 U2 - 1) 
.375 (3/8) 
.3125 (5/16) 


Oto 41 
Oto 12 
to 8.2 
-2.8 to 6.8 
-7.2 to 4.8 


30 
9.1 
5.9 
4.7 
3.6 



Table 7: The accuracy of the approximation algorithm as a function of K, 



K 


IMPLEMENTATION OF 
Kx ABS (SMALLER) 


1 


None Required. 


(Fastest) 


.5 (1/2) 


Shift right 1, 




.375 (3/8) 


Shift right 2, 
Store in TEMP, 
Shift right 1, 
Add TEMP. 




.3125 (5/16) 


Shift right 2, 
Store in TEMP, 
Shift right 2, 
Add TEMP. 




.414214 (x/"2-1) 


Multiply. 


(Slowest) 



Table 2: A comparison of implementation speeds for various values of K, 



Bob Leedom 

14069 Stevens Valley Ct 

Glenwood MD 21738 

I enjoyed Richard Lord's article presenting 
an assembly language FFT (fast Fourier 
transform) program for the 6800 (February 
1979 BYTE, page 108). Adaptation to my 
6502 (KIM) system should be fairly straight- 
forward. 

However, the author notes that obtaining 
the magnitude of each resulting vector is 
almost as time-consuming as the FFT process 
itself, since this would involve taking the 
square root of the sum of the squares of 
each REAL/IMAG pair. Strictly speaking, he 
is correct, but with very little trouble a 
quite reasonable approximation to the cor- 
rect magnitude can be found. The following 
algorithm is often used for this purpose in 
the processing of speech and radar data, 
and may be implemented easily in either 
hardware or software. 

To find the magnitude of a vector, given 
the orthogonal components (eg: REAL and 
IMAG): 

• take the absolute values of REAL 
and IMAG; 

• compare the two absolute values, 
place the larger in L and the smaller 
in S — if they're equal, it doesn't 
matter which goes where; 

• multiply S by a constant (K), add 
the result to L. 

What is K? That depends on how much 
accuracy you're willing to sacrifice for com- 
putation speed. To appreciate this, you 
should understand that the error in the 
magnitude computation will be a function 
of the phase angle between the two com- 
ponents. In his article, Mr Lord simply 
added L to S, thus letting K = 1. This 
approximation gives an error of from to 
41 percent: 

LetMAGN = L + S. 

Suppose a vector actually has a magni- 
tude of 100 units. If L = and S = 100, 
then MAGN = 100, or percent error. But, 
if L = 70.7 and S = 70.7, then MAGN = 
1 41 .4, or 41 .4 percent error. 

Table 1 shows several values of K, along 
with the corresponding spread of the peak 
errors. However, just looking at the peak 
errors can be deceiving; what you really 



188 June 1979 © BYTE Publications Inc 



want to do is minimize some measure of the 
average error. Since the error function 
"folds" at 45 degrees of phase angle between 
L and S, I wrote a short program to compute 
the error at 1 degree intervals from to 45 
degrees. The root mean square of these 
errors is given in table 1 as a sort of quality 
factor for a given value of K. 

As you can see, the computation of the 
magnitude can be improved from 3 to 8 
times, simply by choosing the appropriate 
value of K. The error reduction as a function 
of K is shown graphically in figure 1 ; this is 
the accuracy part of the tradeoff. 

The other side of the coin is speed of 
implementation. Given the absolute values 
of REAL and I MAG, and the fact that some 
fraction of one will be added to the other, 
it takes no extra time to perform the algo- 
rithm with K=1. However, with K=.414214, 
you must multiply (after finding the smaller 
of the two absolute values). The range of in- 
between speeds is given in table 2. 

The accuracy/speed tradeoff should be 
evaluated for each user's application, either 
by analysis or by trying possible values of 
K. However, if you don't have the time or 
energy for this, remember that an imme- 
diate reduction of the root mean square 
error to less than ten percent may be ob- 
tained by a compare and a shift (ie, K = .5)." 



Circle 179 on inquiry card. 

Main/Frames 0m $2OO 



Main/Frames ™$200 

• 14 Basic Models Available 

• Assembled & Tested 

• Power Supply: 
8v@15A, ±16v@3A 

• 15 Slot Motherboard 
(connectors optional) 
Card cage & guides 

• Fan, line cord, fuse, power 
& reset switches, EMI filter 

• 8v@30A, ±16v@10A HacK 
option on some models mounted 

from $200 



Desk top 
from $235 



Write or call for our 
brochure which includes our 

application note: 
'Building Cheap Computers' 

INTEGR4ND 

8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288 
We accept BankAmericard/Visa and MasterCharge 



6809 

16 bit internal arithmetic 
Hardware multiplication 
Two stack pointers 
Two index registers 
18 addressing modes 
Fully relocatable code 
Five interrupts 
Up to three times the 
throughput of a 4MHz Z-80 



6809! 




MD-690a Single Board Computer 
$ 239 kit $299 assembled 



r 
I 



S-100 Compatibility.! 
6809 Computability.J 

l 



Please rush the following 

□ CPU Card (kit) 

□ CPU Card (assembled) 



1KRAM 

1 0K PROM space 

MONBUG II monitor included 

2400 baud cassette interface 

20 I/O lines 

RS-232 level shifters 

Real time clock 

DMA 

Parallel keyboard input 

Memory-mapped video output 

Fully S-100 compatible 

(including 8080 type I/O) 
A complete system, 
ready to use. 



MicroDaSys, P.O. Box 36051 
Los Angeles, CA 90036 
(213)935-4555 



CA residents add 6% 



Circle 220 on inquiry card. 



June 1979 iS HYTE Publications Inc 



189 



Our MacroFloppy™ 
goes twice the distance. 

For $ 695. 




Introducing the Micropolis MacroFloppy ,M :1041 and :1042 disk drive sub- 
systems. For the S-100/8080/Z-80 bus. Packing 100% more capacity into a 
5 1 /S-inch floppy disk than anyone else. 143K bytes, to be exact. For as little 
as S695. 

The MacroFloppy:1041 comes with the Micropolis Mod I floppy packaged 
inside a protective enclosure (without power supply). And includes an S-100 
controller. Interconnect cable. Micropolis BASIC User's Manual. A diskette con- 
taining Micropolis BASIC, and a compatible DOS with assembler and editor. 
The :1041 is even designed to be used either on your desk top, or to be inte- 
grated right into your S-100 chassis. 

The MacroFloppy:1042 comes with everything the :1041 has, and more. 
Such as d.c. regulators, its own line voltage power supply, and, to top it off, 
a striking cover. Making it look right at home just about anywhere. 

Both MacroFloppy systems are fully assembled, tested, bumed-in, and 
tested again. For zero start-up pain, and long term reliability. They're also 
backed up by our famous Micropolis factory warranty. 

And both systems are priced just right. $695 for the MacroFloppy:1041 
and $795 for the MacroFloppy:1042. 

You really couldn't ask for anything more. 

At Micropolis, we have more bytes in store for you. 

For a descriptive brochure, in the U.S. call or write Micropolis 
Corporation, 7959 Deering Avenue, Canoga Park, California 91504. Phone 
(213) 703-1121. 

Or better yet, see your local dealer. 



MICROPOLIS 

More bytes in store for you. 



H Edgar Coburn 

Structural Engineer 

3560 Albatross St 

San Diego CA 92103 



Concerning 

User's Manuals 



In my opinion, many engineers are incom- 
petent when it comes to transmitting infor- 
mation to anyone not already trained in their 
particular specialty. (I, myself, am wondering 
if I'm getting this message across.) Engi- 
neers, who generally are not human ori- 
ented, excuse the obscurity of their com- 
munications by charging that the other 
person {not one of their compatriots, 
obviously) is not too bright. Unfortunately, 
there is just enough truth in this assump- 
tion to convince most engineers that there is 
no need to undertake the drudgery of learn- 
ing how to be lucid — nothing is so easy as 
adjusting facts to fit opinions. 

It is clearly apparent that if engineers are 
no more obscure in discourse than other 
people, then I don't have much of a point. 
So, before plunging into the real subject of 
this article, let's examine this question with 
respect to one particular feature involved in 
the process of transmitting information to 
others — namely, indices. Information that is 
not accessible, or that is accessible only with 



excessive difficulty, is not of much practical 
value. 

In connection with another project, I 
made a statistical study of the indices of the 
nonfiction books available in a large public 
library. I found that the average amount of 
space devoted to indexing was approxi- 
mately 1.8% of the total number of pages in 
a book. Indices varied in size from to more 
than 1% of the book pages. While it is evi- 
dently true that index length is no measure 
of index quality, it is equally apparent that 
a short index is limited in the amount of 
information that it can transmit. 

Engineering books, despite the complex- 
ity of their subject matter, have less indexing 
(at an average of 1 .3%) than nonfiction 
books in general. On the other hand, science 
books, properly reflecting the complexity of 
their subject matter, have more indexing (at 
an average of 2.4%) than nonfiction books 
in general. 

Unfortunately, many instruction manuals 
for computers have been written by engi- 
neers. It may well be that the obscurity of 
computer manuals has a substantial effect 
on personal computer sales. It is even con- 
ceivable that literally thousands of intelli- 
gent, educated people, those who might 
benefit from the possession of a personal 
computer, are "turned off" when they see 



190 lune 1979 © BYTE Publications Inc 



MetaFloppy 

The Micropenis MetaFloppy" - ' gives you more than four times the capacity of 
anyone else's 5%-inch floppy Because it uses 77 tracks instead of the usual 35. 

The field-proven MetaFloppy, with thousands of units delivered, comes 
in a complete family of models. And, like our MacroFloppy'" family of disk 
drives, MetaFloppy is designed for the S-100/8080/Z-80 bus. 

For maximum capacity, choose our new MetaFloppy:1054 system. Which 
actually provides you with more than a million bytes of reliable on-line stor- 
age. For less money than you'd believe possible. 

The MetaFloppy:1054 comes complete with four drives in dual config- 
uration. A controller. Power supply. Chassis. Enclosure. All cabling. A new BASIC 
software package. And a DOS with assembler and editor. There's even a built- 
in Autoload ROM to eliminate tiresome button pushing. 

If that's more storage than you need right now, try our 
MetaFloppy: 1053, with 630,000 bytes on-line. Or our Meta- 
Floppy : 1043, with 315,000 bytes on-line. Either way, vou can 
expand to over a million bytes on-line in easy stages, when you 
need to. Or want to. 

In other words, if your application keeps growing, we've got 
you covered. With MetaFloppy. 

The system that goes beyond the floppy. 

For a descriptive brochure, in the U.S. call or write Micropolis 
Corporation, 7959 Deering Avenue, Canoga Park, California 91304 
Phone (213) 703-1121. 

Or better yet, see your local dealer. 

MICROPOLIS 

More bytes in store for you. 



goes 
beyond 




some of the instruction manuals published 
by computer manufacturers. If the reader 
is skeptical on this point, let him compare 
the average personal computer user's manual 
with a really good manual, such as the one 
supplied with Hewlett-Packard's HP-67 cal- 
culator. 

Suppose that in a given year 10,000 
people are turned away from personal 
computers by the paucity of lucid manuals. 
(I'm safe here because no one really knows 
how many potential buyers don't buy.) And 
suppose that the average user investment in 
personal computers is (optimistically) 
$4000. This means that the personal com- 
puter industry, with at least a few manu- 
facturers and retail sellers on the ragged edge 
of solvency, may be needlessly driving no 
less than $40,000,000 per year into other 
hands. 

If all computer manufacturers were to 
test their manuals by having several intelli- 
gent, educated people try to operate the 
corresponding computer with nothing but 
the manuals for a guide, the results might be 
illuminating, or even startling to the manu- 
facturers. Then, instead of assuming that 
these test users are clumsy, it might be help- 
ful to revise the manuals until they are lucid, 
not invincibly obscure. 

I believe that the manufacturers will dis- 



cover, if they actually make such a test, 
that the choice of a specific word is highly 
significant in the transmission of informa- 
tion. It makes a heap of difference whether 
one says, "Woman and child" or "Woman 
with child." It also makes a difference 
whether an engineer writes, ". . .has a direc- 
tory entry" or ". . . requires a directory 
entry." 

But most significant of all, many engi- 
neers seem to think that the reader needs 
little or nothing in the way of orientation. 
This, unfortunately, is not true. The reader 
of a manual needs to be led by the hand all 
the way — good writing typically provides 
such assistance. What often happens in prac- 
tice is that the reader is given the brush-off, 
with the declaration that the manual as- 
sumes that the reader is acquainted with the 
subject. This is a luxury that the personal 
computer industry cannot afford. 

Of course, it is perfectly reasonable to 
assume that the expectant owner of a per- 
sonal computer should do a little studying of 
BASIC, for instance. The user definitely 
won't be harmed if he or she gets some idea 
of the general organization of a computer. 
But there is grave doubt that such training 
will aid the user noticeably in learning how, 
for example, to manage the disk file of 
some particular computer. 



June 1979 © BYTE Publications Inc 191 



Circle 93 on inquiry card. 



25 START-AT-HOME 
COMPUTER BUSINESSES 

In "Low Capital, Startup 
Computer Businesses" 

CONSULTING • PROGRAMMING • MICRO COMPUTER 
OPPORTUNITIES • SOFTWARE PACKAGES • FREELANCE 
WRITING • SEMINARS • TAPE/DISC CLEANING • FIELD 
SERVICE • SYSTEMS HOUSES • LEASING • SUPPLIES • 
PUBLISHING • HARDWARE DISTRIBUTORS • SALES 
AGENCIES • USED COMPUTERS • FINDER'S FEES • 
SCRAP COMPONENTS • AND MORE . . 

Plus — ideas on moonlighting, going 
full-time, image building, revenue 
building, bidding, contracts, marketing, 
professionalism, and more. No career 
tool like it. Order now — if not completely 
satisfied, return within 30 days for full 
immediate refund. 

• 8'/> x 11 ringbound • 156 pp. • $20.00 
Phone Orders 901-761-9090 







DATASEARCH 

incorporated 
4954 William Arnold Road, Dept. B, Memphis, TN 38117 
Rush my copy of "Low Capital Startup Computer Businesses" at $20. 



NAME/COMPANY 
ADDRESS 



CITY/STATE/ZIP 



P Check Enclosed 



□ VISA □ Master Charge 
Exp. Date 



TRS-80 LEVEL II AND DOS 



COMMAND PROCESSOR 'COMPROC ***NEW PRODUCT*** 

Automatically load aod execute any sequence of System and/or 

BASIC programs and data from power up. 

Command files created, saved, and edited in BASIC. 

Sophisticated options include interactive prompting and substitutional 

parameters. Allows non-computer personnel to easily execute programs 
RENUMBER WITH 'REMODEL' • MERGE WITH 'PROLOAD' 

REnumber any section or an entire program. 

MOve program segments. DELete program lines. 

All line references readjusted as required. 

COMBINE programs with renumber and merge. 

LOAD or SAVE any portion of program from tape. 

GENERAL SUBROUTINE FACILITIES 'GSF' 

Collection of fast easy-to-use machine language routines. 

IN-MEMORY SORT with multiple variables and keys. 

SORT 1000 - Element array in 9 seconds. 

ARRAY read/write to tape, compress/uncompress/move data. 

SCREEN scrolling, save screen displays, and more 

DISK SORT PROGRAM 'DOSORT 

SORT/MERGE multi-diskette sequential files. 

MULTIPLE variables and keys. User input/output sort exits. 

Includes GSF machine language in-memory sort, etc. 32 or 48K. 

COPY SYSTEM TAPES WITH 'COPSYS' 

Dealer Inquiries Invited 

REMODEL Order TS21D at $24.95 

REMODEL + PROLOAD Order TS22D at $34.95 

GENERAL SUBROUTINE FACILITIES Order TS25D at $24.95 
DISK SORT PROGRAM Order TS26D at $34.95 

Must specify 16, 32, or 48K on above. System house discounts. 
COMMAND PROCESSOR (DOS ONLY) Order TS27D at $19.95 
COPSYS (Not DOS) Order TS24D at $14.95 

For TAPES that TEST best Order 10 ea at $14.95 

E=.DAPCT J Check. VISA. M/C. C.O.D. 

{r-HAUtl COMPUTES -^ Calif, residents add 6% 
70^almdale^rann^^2665^^l7l4m^m6^^^^ 



Furthermore, such learning will be of no 
value at all in helping the hopeful beginning 
reader in remembering the casual comment, 
appearing many pages earlier, which men- 
tions that control C is necessary whenever 
"2A00 hex" is transposed with M5700 in 
the . . . oh well, what does it matter? The 
point is that the novice computer owner 
needs guidance. Among other things, this 
means examples, examples, and more 
examples. Since the personal computer in- 
dustry has not been overwhelmed by stand- 
ardization, even the experienced computer 
user needs lucid, particular instructions 
when adapting to a new system. 

One way to improve the situation is to 
have manuals written by those few engineers 
who have demonstrated a knack for putting 
ideas across. And since behavioral phenom- 
ena are complex, it is even better to engage 
the talents and specialized training of a 
psychologist. It is obvious to a psychologist 
that students need orientation and examples 
in order to develop skill in a reasonable time. 

Unfortunately, it's one thing to observe a 
need and quite another to get action. I don't 
imagine for a moment that it is possible to 
get any action out of people without some 
kind of motivation. However, it should be 
noted that motivation techniques, like every- 
thing else, have changed remarkably over the 
years. In the 16th century, for instance, it 
was fairly common practice when a king was 
offended by some luckless peasant (or even 
by a nobleman) to have the offender bodily 
pulled apart by teams of Clydesdale horses 
(the kind that pull beer wagons). This sort of 
example was supposed to ensure a certain 
amount of respect for His Majesty. It was 
motivation that everyone could understand. 
Sadly, we're so civilized now that we can't 
use any of the old-time, sure-cure methods 
of motivation. 

If engineers knew that the penalty for 
failure to be lucid was to be pulled apart by 
teams of draft horses, it might have a salu- 
tary effect on the writings of engineers. (If 
some computer engineers now think that I 
should be pulled apart by teams of draft 
horses, it clearly indicates that my writings 
are lucid. The readers get the message. 
Therefore I should not be pulled apart. 
Q.E.D.) 

If a user's manual confuses intelligent 
people, it is not only unsatisfactory to the 
user, but damages the fortunes of manufac- 
turers and retail dealers also, because poor 
documentation inhibits sales. Why should 
the manufacturers pay for full page color 
advertisements featuring their products, only 
to throw the benefits away by offering 
obscurely written manuals? There must be a 
better way." 



192 



June 1979 © ISYTE Publications Inc 



Circle 313 on inquiry card. 



Double Sided Notes 

Jonathan A Titus 
TYCHON Inc 
POB 242 
Blacksburg VA 24060 

David Lamkins' article about printed cir- 
cuit layout techniques "Designing With 
Double Sided Printed Circuit Boards" (March 
1979 BYTE, page 94) described some tech- 
niques that shouldn't be used in good printed 
circuit board designs. The main problem is 
the strategy of designing the power and 
ground runs as the last step. Don't do it. 

The power and ground runs should be 
designed first in the printed circuit board 
layout, and not last. Here is why. 

• Power runs should be as wide as possi- 
ble. It is difficult to make them very 
wide if you have to make them fit 
between signal runs, pins, etc. 

• It will be almost impossible to add 
decoupling capacitors to power runs 
that snake through signal runs. Re- 
member, you will need one decoupling 
capacitor per 7400 series integrated 
circuit in a good design. 



Statistical 

Computations 

Recomputed 

J G Bliss 

2141 Cumberland Av S 
Saskatoon, Saskatchewan 
CANADA S7J 1Z2 

Alan B Forsythe, in his article "Elements 
of Statistical Computation," (January 1979 
BYTE, page 182) states: 

Several books of BASIC programs in- 
clude the calculation of the standard 
deviation. Those I checked give the 
wrong answer for this set of data. 

This is probably a result of the formula 
used in the article: 



-M- 



- S(X-X) 2 



N- 1 
The usual formula for standard deviation is: 



N 



2 (X-X) 2 



The version given in the article is used when 
calculating standard deviation from a sam- 
ple. (See for example Handbook of Sampling 
for Accounting and Auditing, 2nd edition, 
by Herbert Arkin, McGraw-Hill.)" 



• If the power runs are left until last, 
poor design takes over, making the de- 
signer seek ground and power connec- 
tions wherever they are available. 
Potential differences often occur, and 
the circuit doesn't function. Ground 
loops are also a problem unless proper 
layout of power runs is observed early 
in the design. 

Although the use of one colored pencil 
per side of the double-sided printed circuit 
board is noted, designers should try to keep 
the runs on one side oriented in a right-left 
fashion and those on the other side oriented 
in an up-down fashion. If this course is 
followed, problems such as those in Lamkins' 
figure 4 are avoided. Use of this technique 
also simplifies problems such as those shown 
in Lamkins' figure 3 design. 

The article also mentions the use of a 
dedicated through-hole. This is a new one to 
me. I always thought that the holes on a 
printed circuit board were dedicated to some- 
thing. If they weren't dedicated, there 
wouldn't be any need for them. What is a 
through-hole? I thought that holes went 
through something. Who knows, maybe 
some computerist will come up with a 
nested-hole; a small hole inside a bigger one. 
Best wishes." 



Retro-Graphics™ 




For your DSirtb Terminal. The Retro 

Graphics PC card mounts easily in the Lear 
Siegler ADM-3A to provide you with an afford- 
able graphics computer terminal. 
Features: 



Z-80 Based 
512 by 250 
Dot Matrix 
Simple Plug-in 
Interconnect 



Point Plotting 
Automatic Vector 
Generation 

Optional TEKTRONIX 
Software Compatibility 



You will be impressed with the packaging, per- 
formance and price of the Retro-Graphics card. 
Write or phone today for complete specifications. 

DIGITAL ENGINEERING, INC. 

1787 Tribute Road, Suite K 

Sacramento, CA 95815 

(916)920-5600 



Circle 84 on inquiry card. 



|une197<J © BYTE Publications Inc 



193 



Circle 142 on inquiry card. 

£J 1 1 1 ■ | | Illlllllllllllllllllllllllllllllllllllll Illllllll Illlllllllllllllllllllt 



I T.D.Q. 1 

1 TAPE DATA QUERY 

1 PET-8 K SOL-IIA TRS-80-LEVEL II | 

| *FILE MANAGEMENT SYSTEM | 

1 —UTILIZES DUAL AUDIO CASSETTE RECORDERS S 

| INTERACTIVE QUERY LANGUAGE | 

1 —ENGLISH-LIKE COMMANDS | 

5 —POWERFUL INFO RETRIEVAL CAPABILITY 

| *COMPUTERIZED BUSINESS & PERSONAL RECORDS 

S —CUSTOMIZE YOUR OWN FILE STRUCTURES 

1 —CREATE & MAINTAIN DATA FILES 

—NO PROGRAMMING EXPERIENCE REQUIRED 

| 'IMPLEMENTED IN BASIC 1 

I T.D.Q. CASSETTE WITH MANUAL & REF. CARD $50.00 | 

THE FOLLOWING PRE-DEFINED T.D.Q. FILE STRUCTURES 
ARE AVAILABLE TO SOLVE YOUR DATA PROCESSING NEEDS: = 



$35.00 
$35.00 
$35.00 
$35.00 
$25.00 
$25.00 



INVENTORY CONTROL 
ACCOUNTS RECEIVABLE 
ACCOUNTS PAYABLE 
ORDER PROCESSING 
CUSTOMER DIRECTORY 
APPOINTMENT SCHEDULING 

EACH WITH CASSETTE AND MANUAL 

SEND SELF-ADDRESSED STAMPED ENVELOPE FOR 
COMPLETE SOFTWARE CA TALOGUE. 
SEND CHECK OR MONEY-ORDER TO: 

H. GELLER COMPUTER SYSTEMS 

DEPT. B, P.O. BOX 350 
NEW YORK, NY 10040 

(NEW YORK RESIDENTS ADD APPLICABLE SALES TAX) 



3IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII7 



ED SMITH'S SOFTWARE WORKS 

ANNOUNCES 11] 



AN M6800 SYSTEM RELOCATABLE RECURSIVE 
MACROASSEMBLER & LINKING LOADER 

ATTENTION ALL PROGRAMMERS: if you have 

been looking for an assembler with real macro capabilities, then 
l&ffiBEAE is the one for you. 

Character replacement is the crux of macro expansion. 3WSA8S 
allows unlimited character replacement in any field of a macro 
model statement. I IB -i. v -'8 argument notation can specify replace- 
ment from any field, subfield, sublist or substring of the macro call 
statement. Si ELSKJ "'s set of macro directions supports both global 
and local set symbols. Set symbols can be based on either arithmetic 
expressions or character expressions. Macro model statements can 
determine attributes of set symbols or macro arguments. B2USS ' 
allows macros to define new macros and to call other macros. Macro 
calls can be recursive, that is, a macro may call Itself. 

? . vl:.' - contains a mini co-resident editor, allows spooling if 
desired, supports insert files, retains TSC Text Editor source code 
compatibility, plus many other programmer convenience features. 



can be furnished on cassette or mini-floppy in either SSB 
or Mini-Flex format. Comes complete with linking loader, Instruc- 
tion Manual/Programmers Guide & an extensively commented 
assembly listing. 



M68RR . . . .cassette . . . .$150.00 
M68RR-D . . SSB disc . . .$150.00 
M68RR-F ..FLEX disc ..$150.00 



A 6800 to 6809 cross assembler 
version of 3£3£tfi3U&.(S will be 
available in June. 



Order directly by check or MC/Visa. California residents add 6% 
sales tax. Customers outside of U.S. or Canada add $5 for air postage 
& handling. 

Dealer inquiries welcome. 

Ed Smith's SOFTWARE WORKS 

P.O. Box 339, Redondo Beach, CA 90S77, (213) 373-3350 



NybMes 



Alan Kaniss 
Vincent DiChristofaro 
John Santini 
1327 McKinley St 
Philadelphia PA 19111 



The Great APL Contest - 

After many trials and tribulations, we 
are happy to announce the winners of the 
Great APL Contest (August 1977 BYTE). 
The object of the contest was to create a 
usable APL interpreter. 

The first place prize of $1000 went 
to Alan Kaniss, Vincent DiChristofaro, 
and John Santini for their APL in- 
terpreter written in Pascal. This was 
the most complete interpreter we re- 
ceived. 

The second place prize of $500 went 
to two groups: the APL Committee of 
Texas A&M Microcomputer Club which 
submitted a club entry, and Stephanie 
Charles and Normand Berube who sub- 
mitted a jointly written program. Both of 
these programs were for 8080 processor 
machines. 

We thank all the people who entered 
the contest for the time they spent 
writing their interpreters, and we hope 
that they learned a great deal from the 
experience. 



We used Michael Wimble's flowcharts (see 
"An APL Interpreter for Microcomputers," 
August, September, October 1977 BYTE) as 
generalized guidelines for our APL interpre- 
ter, rather than coding directly from them. 
We used most of his ideas on function imple- 
mentation, table storage, input scanning, and 
statement parsing. There were a few minor 
errors in logic, but for the most part the 
flowcharts were clear and easy to work 
with. We expanded the interpreter to include 
functions to which Wimble made reference 
but did not flowchart — inner product, 
outer product, catenate, and index-of. We 
made the interpreter extremely portable by 
having the character set machine (as well as 
keyboard) independent. We accomplished 
this by having the program read in the 
installation's character set from a file at 
the start-up of the program. 



194 



une 1979 f BYTE Publications Inc 



Circle 327 on inquiry card. 



THE TRS-80 
ASSEMBLY LANGUAGE 
DEVELOPMENT SYSTEM 

(A STEAL AT TWICE THE PRICE) 



A short time ago, 
Microsoft introduced TRS-80 
FORTRAN— a complete 
ANSI-standard FORTRAN 
with macro assembler, linking 
loader, and text editor, all for 
only $350. The response 
has been overwhelming. 

Many TRS-80 users even 
told us, "The assembly 
language development 
software alone is worth that 
price." We think they're right, 
of course, but we've made it 
an even better deal. 

ANNOUNCING: 
THE TRS-80 
ASSEMBLY LANGUAGE 
DEVELOPMENT SYSTEM 
FOR $175. 

For half the price of the 
TRS-80 FORTRAN Package, 
you can buy the TRS-80 
ASSEMBLY LANGUAGE 
DEVELOPMENT SYSTEM, 
including: 

EDIT-80 A fast, random 
access text editor that's easy 
to use and loaded with 
features. Lets you insert, 
replace, print or delete lines; 



edit individual lines; 
renumber lines in a file; and 
find or substitute text. 

MACRO-80 The best 
Z80 assembler anywhere. 
MACRO-80 supports a 
complete Intel- standard 
macro facility plus many 
other "big computer" 
assembler features: comment 
blocks, octal or hex listings, 
8080 mode, titles and 
subtitles, variable input radix 
(base 2 to base 16), and a 
complete set of listing 
controls. 



LINK-80 Loads your 
relocatable assembly 
language modules for 
execution and automatically 
resolves external references 
between modules. 

CREF-80 Gives you a 
complete dictionary of 
program symbols, showing 
where each is defined and 
referenced. 

The Microsoft TRS-80 
FORTRAN Package is still 
available for $350. Or, for 
HALF PRICE, get the TRS-80 
ASSEMBLY LANGUAGE 
DEVELOPMENT SYSTEM. 

Either way, it's a steal. 



TO: Microsoft, 10800 N.E. 8th, Suite 819, Bellevue, WA 98004 

□ Send me the works! TRS-80 FORTRAN Package for $350. 

□ Send me half the works! TRS-80 Assembly Language 
Development System for $175. 

□ Check enclosed □ Master Charge □ VISA 



CARD NUMBER 


EXP DATE 


CARDHOLDER'S SIGNATURE 


NAME 


ADDRESS 



JjJ MICROSOFT 



Dealer Inquiries Invited 



BYTE June 1979 



195 



Tables 

Rather than using Wimble's method of 
storing tables in arrays (variable table, 
value table, function table, token table), 
we took advantage of one of Pascal's data 
structures, the linked list. This offers two 
big advantages to the design of the inter- 
preter: 

• Array sizes do not have to be declared 
elsewhere in the program. There is no 
way of telling which tables will grow 
very large and which ones will stay 
small; this is dependent on the calcu- 
lations being performed with the inter- 
preter and will vary from one terminal 
session to another. With linked lists, 
storage allocation is dynamic and can 
be used for each table as needed (stor- 
age is taken from a common pool of 
storage reserved for linked lists). 

• It is a simple procedure to de-allocate 
storage (using the standard function 
"dispose" in Pascal) so that it can be 
re-used by the program as needed. This 
helps to keep the size of the running 
program to a minimum. 

Values 

We store all values as real numbers. We 
decided to do this based on the fact that 
although APL's data structures are weak 
(eg: reals and integers can be stored in the 
same array), Pascal's data structures are 
very strongly typed. Numbers are checked 
to be whole numbers (nonfractional) for 



certain operations such as index generation 
(monadic iota) and reshaping (dyadic rho). 
Numbers are checked to be Boolean for such 
operations as logical negation (tilde), ANDs, 
andORs. 



The Nybbles Library is an inexpensive 
means for BYTE readers to share some inter- 
esting but specialized forms of software. 
These programs are written by readers with 
small computers and printer facilities, and 
are therefore designed for particular systems. 
The algorithms and programming techni- 
ques in these programs can be directly used 
by readers with similar equipment, or can 
serve as an inspiration for improvisation 
on computers of different characteristics. 

Potential authors of such programs 
should send us a self-addressed stamped 
envelope, with a request for a copy of our 
"Guidelines for Nybbles Authors. "Payment 
for Nybbles items is based on sales and 
length of the item. Rates are set at the time 
of acceptance. 

Nybbles Library programs are sent in 
listing form, printed on 8.5 by II inch paper 
on both sides. The Nybbles Library pro- 
grams are 3 hole punched for collection in 
loose leaf binders, and come in an attractive 
folder which serves as a cover. 

This month "An APL Interpreter in 
Pascal" (document # 109) has been added 
to the Nybbles Library. Use the coupon 
below to order your personal copy, at 
$10.00 postpaid in USA or $12.00 for over- 
seas orders. 



Please send 



copies of BYTE Nybble #. 



at $. 



postpaid. 



Please remit in US funds only. 

Check Enclosed 

BillmyBACM 

Bill my MC It 

Name 



_Exp Date 
.Exp Date 



Street. 
City _ 



State 



Zip Code 



BYTE Nybbles Library, 70 Main St, Peterborough NH 03458 

You may photocopy this page if you wish to keep your BYTE intact. 



196 June 1979 © UYTE Publications Inc 



TRS 80 SOLUTIONS ! 



* * * * LI = Level I + * * -¥■ ■¥■ Lll = Level II » ■» * * * ■» » D = Disk + If. + + Jf ALL THIS AND MORE!!! jMMME 



BUSINESS 

Appointment Log by M. Kelleher Perfect for the 
professional. Accepts name and address, meeting 
start and endings, subject matter, derives elapsed 
time. For Level II, 16K $9.95 
Payroll by Stephen Hebbler Comprehensive 24 pg. 
manual with step-by-step instructions included in the 
package. Supports W2 and 941 information. D, 
$59.95 

Mail List I by Michael Kelleher is the economy model 
of disk-based mailing list programs. Uses a single 
drive and handles up to 1400 names per disk, plus 
provisions for sorting options. 16K, D $19.95 




rt" 



BIZ-BO 



*\ 



The Business Software People® 
Just about everything you need ... within 1 
year, participants receive programming for 
Inventory, Accounts Receivable, Accounts 
Payable and General Ledger systems, plus 
Sales and Payroll. Complete documentation 
and software on diskette, $200.00 



^ 



y 



Mail List II by BIZ-80 Complete mail list system for 
dual disk. Enter, update, merge, sort, and print 
mailing labels. D, 32K $99.95 
Small Business Bookkeeping by Roger W. Robitaille, 
is based on the Dome Bookkeeping Journal, sold for 
years in stationery and discount outlets. Level II, 4K 
with ($22.00) or without ($15.00) Dome journal. 
Inventory System II by BIZ-80 Proper inventory 
management is the backbone of a profitable business, 
yet it's very difficult to keep current on price 
increases, shrinkage, low-on-stock items, profitable 
items versus losers, without an efficient and prompt 
method of surveying your inventory levels at any 
given lime. This program can help you to achieve 
optimal management — it can handle up to 1 ,000 
items on one disk; each additional disk can handle 
another 1 ,000 items. With Documentation, $150.00 
Inventory S by Roger W. Robitaille, Sr. 240 stock 
items can be contained using the full 6 data areas and 
2 pieces of alpha information. Level I or 11,1 6K $25.00 
Inventory II. 2 Disk based program allows for 
creation, maintenance and review of over 2,000 items 
per clean diskette. Operates under Disk BASIC, DOS 
2.1 with minimum memory allocation. D, $59.95 



ST 80 - SMART TERMINAL 
Lance Micklus 

Turns your TRS-80 into a computer terminal. 
Features include CONTROL key, REPEAT key, 
ESC key, RUN key and a functioning BREAK 
key. Lets you list incoming data on line printer. 
Reprogram RS-232-C switches from keyboard, 
making baud rate changes simple. Level II, 16K 
$49.94 



Text-80 by Frank Rowlett Fully-documented text 
processing system for disk. Create, edit, move, 
delete, insert, change, print words or lines. D, 32K 
$59.95 

KVP Extender by Lance Micklus Corrects keyboard 
bounce, upper case lock, permits use as a terminal, 
screen printing. On tape ($24.95) or disk ($29.95) 
8080-Z80 Conversion by M. Kelleher Permits you to 
enter 8080 codings and returns the Z80 equivalent. L 
II.16K $15.00 

Basic Statistics by Steve Reisser Pearson product- 
movement correlation coefficient, chl-square, Fisher 
T-test, sample analysis of variance, Z-scores and 
standard scores, with a random number generator 
built in to simulate data. L II, 16K $20.00 
Renumber by Lance Micklus Complete user control 
over which lines are renumbered, and how, Including 
all GOSUB's and GOTO's. Specity 4, 16, 32, or 48 K 
version when ordering. Operates in Disk mode. L II, 4 
through 48K, $15.00 Source Listing, $20.00 All 4 
versions on disk, $25.00 



| drive, fix your DOS with NEWDOS: an j 

! enhanced disk-operating system capable of ! 

| correcting over 70 errors In TRSDOS 2.1 to j 

! improve reliability, end key bounce, enable 

| DOS commands to be called from BASIC and I 

j much more! Available NOW for 16K systems j 

I with a minimum of 1 disk drive. $49.95 | 



ACTION GAMES 

Slalom by Denslo Hamlin Choose between Slalom, 
Giant Slalom and Downhill. Level II, 16K $7.95 
X-WIng Fighter by Rev. George Blank Put yourself 
into the cockpit of this fighter. Extensive use of 
INKEY function puts all ship controls at your 
fingertips without hitting ENTER key. Long range 
sensors warn of approaching aircraft prior to visual 
contact. Level II, 16K $7.95 

Air Raid by Small System Software High speed 
machine language program with large and small 
aircraft flying at different altitudes. Ground-based 
missile launcher aimed and fired from keyboard. 
Planes explode when hit, cause damage to nearby 
aircraft. Score tallied for hits or misses. Level I or II, 
4K $14.95 

Batter Up by David Bohlke Level II, 16K $5.95 
Ten Pin by Frank Rowlette A game of coordination, 
the scoring is true to the rules of the sport. Level II, 
16K $7.95 



ADVENTURES 
Scott Adams 
Feel as if you're manipulating HAL from 2001 
when you play these games. Hardly any rules, 
finding out is part of the fun. Two adventures 
on 32K disk, $24.95 Tape, one adventure on 
each tape - pirate or land - Level II, 16K $14.95 

DOG STAR ADVENTURE 
Lance Micklus 
You're trapped aboard an enemy battlestar ... 
can you find the gold, rescue the princess, 
discover the plans and safely escape? Level II, 
16K $9.95 



Amazin' Mazes by Robert Wallace Ever-changing 

mazesituation Level II, 16K $7.95 

Sink 'UM by Rev. George Blank LII.4K $4.95 

Breakaway by Lance Micklus Level I or II, 4K $4.95 

Treasure Hunt by Lance Micklus Explore caves in 

search of twenty hidden treasures. L I or II, 

16K $7.95 

Kamikaze by Russell Starkey Command your ship 

against attacking suicide planes. Machine language 

graphics make this fast and fun! L II, 16K $7.95 

MISCELLANEOUS 

Diskettes Dysan 104/1 Box of five, $24.95 + $1.00 
shipping Verbatim, box of ten, $34.95 + $1 .00 
shipping/handling 

Z80 Instruction Handbook by Scelbi Publ. $4.95 
The BASIC Handbook by Dr. David A. Lien $14.95 + 
$1.00 shipping/handling 

SIMULATIONS 

3-D Tic Tac Toe by Scott Adams Three skill levels — 
author warns you to practice before tackling 
computer's third skill level. LI or II, 16KS7.95 



Star Trek III. 3 by Lance Micklus One of the most 

advanced Star Trek games ever written. Level II, 16K 

$14.95 

End Zone by Roger W. Robitaille, Sr. Authentic 

football simulation, right down to the 2-minute 

warning. Level I or II, 16K $7.95 

Cribbage by Roger W. Robitaille, Sr. You versus 

the computer cribbage played by standard rules. 

Level I or II, 16K $7.95 

Bridge Challenger by George Duisman You and the 

dummy play 4-person contract bridge against the 

computer. Level II, 16K $14.95 

'Round the Horn by Rev. George Blank You're the 

captain of a clipper ship racing from New York to San 

Francisco. Level II, 16K $9.95 

Concentration by Lance Micklus One of the most 

popular television games L I or II, 16K $7.95 

Safari by David Bohlke You're in the running for a 

film contract at a major Hollywood studio. To qualify, 

you must photograph the most wild animals in their 

natural habitat. Level II, 16K $7.95 

Pork Barrel by Rev. George Blank Places you in the 

shoes of an aspiring Congressman. L II, 16K $9.95 

Backgammon by Scott Adams Level II, 16K $7.95 

Chess Companion by M. Kelleher Combines chess 
clock features with ability to record your moves while 
action is fast and furious. Level II, 16K $7.95 
Sargon Chess by Dan & Kathe Spracklen Winner of 
the 1978 San Jose Microcomputer Chess Tournament 
Level II, 16K $19.95 

Mastermind II. 2 by Lance Micklus Lets you and the 
computer take turns making and breaking codes. 
Level II, 16K $7.95 

PERSONAL 

RPN Calculator by Russell Starkey A self- 
documenting calculator program. Uses Reverse 
Polish Notation with 4-level stack, 100 memories, 
scientific functions. Level II, 16K $9.95 
Home Financial Management by M. Kelleher Turns 
your computer into a personal financial advisor. Level 
II.16K $9.95 

Tarot by Frank B. Rowlett, Jr. Probably the best 
future-gazing type program ever written. Try it — 
you'll like it! Level I or II, 16K $9.95 

Ham Radio by M. Kelleher Amateur frequency 
Allocations, ID Timer, Q-signal File, Amateur Log 
Routine, Propagation forecasting. L II, 16K $9.95 
Special Disk-enhanced version, 32K $24.95 
Educator Assistant by Steve Reisser Five programs 
of value to educators. Compute percentage, 
individual student averages, class averages, standard 
test scores, final grades. L II, 16K $9.95 D, $14.95 
Electronic Assistant by John Adamson A group of 8 
subprograms designed to solve problems such as 
tuned circuits and active and passive filters. L II, 
16K $9.95 

Personal Finance by Lance Micklus 33 different 
budgets can be easily adapted by user to fit his 
individual needs. A 2-part program, entry and 
search. Level II, 16K $9.95 

Advance Personal Finance by Lance Micklus Same 
as above with advanced analysis routine. Supports 
Disk Files D, 32K $19.95 



SOFTSIDE Your BASIC software magazine 

Regular 1 year subscription -12 issues -$15.00 

PROG/80 For the serious programmer, from 
beginner to professional 1 year regular 
subscription - 4 issues - $1 0.00 



T|C l*603*673*5M4 

jm TRS-80 Software EHchange — 

l^WWMCl 17 Briar Cliff Drive Mllford, New Hampshire 03055 !^™ '■ , 



Circle 374 on inquiry card. 



BYTE |une 1979 



197 



Gcck Reviews 




The BASIC Handbook: An Encyclopedia of 
the BASIC Computer Language 

by David A Lien 

CompuSoft Publishing, San Diego CA, 1978 

360 pages, paperback 

$14.95 



The title of this book really should read 
A Dictionary of the BASIC Computer Lan- 
guage. It is laid out in a self-indexing format 
as an alphabetic listing of BASIC keywords 
(such as PRINT, GOTO, and INT) accom- 
panied by a detailed explanation of the ef- 
fect that the keyword has when used in a 
program. Operator symbols are also dealt 
with. 

The description given for each keyword 
includes the following: introductory and 
descriptive remarks, a test program with a 
sample run to show how the machine should 
respond, helpful hints, variations in usage 
between different brands of computers or 
different implementations of the BASIC 
language, and cross-references to related 
keywords. Also included is a section called 
"If Your Computer Doesn't Have It." This 
section is of great value to readers who may 
have BASIC interpreters that lack certain 
features. 

In many cases this section gives a subrou- 
tine which performs a function. These sub- 
routines are similar in design to those which 
are found in the Radio Shack User's Man- 
ual for Level 1 TRS-80 Microcomputer Sys- 
tem. In some cases a slightly modified 
algorithm is used for better accuracy. 
These subroutines are written in a form 
which transports well between different sys- 
tems. (The similarity to subroutines in the 
TRS-80 manual, and a slight emphasis on 
TRS-80 BASIC, is not surprising. Dr Lien is 
the author of the TRS-80 Users Manual.) 

The BASIC Handbook is good within its 
limits. It will be a help to the beginning pro- 
grammer, especially one trying to convert a 
BASIC program from one microcomputer 
system to another. When this novice pro- 
grammer encounters a word with which he 
or she is not familiar in a program, the 
chances are that it is in this book, along with 
supplementary information. 



A problem arises, however: not all fea- 
tures and differences between BASIC sys- 
tems occur in the keywords. For example, 
the BASIC compiler offered by North Star 
Computers has several characteristics which 
differ from other BASIC systems. These in- 
clude reversed use of commas and semi- 
colons, and accessing of single characters 
from a string by subscript notation. The 
book could address the punctuation symbol 
usage, but it does not. The format does not 
provide a good section to discuss the sub- 
script notation for strings or other differ- 
ences of a similar nature. 

The book in this edition is incomplete. 
Certain keywords do not appear. Notable by 
their absence are the string usage statements 
CHANGE and LINPUT; the special forms 
RESTORE$ and RESTORE*; the matrix 
arithmetic operations (MAT C = A+ B);the 
matrix initialization keywords (MAT C = 
ZER or CON or IDN); the matrix manipula- 
tion statements (MAT C = TRN(A) or 
INV(A), etc.); and most of the various state- 
ments for handling data files on mass storage 
devices. 

Part of the reason for the above men- 
tioned omissions is that most of the informa- 
tion presented in this book concerns micro- 
computer BASIC systems. In particular, the 
various Microsoft (MITS, Apple, Radio 
Shack, Commodore, Ohio Scientific) inter- 
preters are well covered. Implementations of 
BASIC on minicomputers and large main- 
frames are somewhat neglected, however. 
They appear in the list on the inside back 
cover, but most of the more unusual fea- 
tures, those which are most likely to cause 
trouble, have not been included in this book. 

The result of all this is that a person who 
wishes to convert a BASIC program from a 
large computer system to a small computer 
system will need to determine if the more 
specialized features of the "large" BASIC 
have been used. If they have, the program- 
mer will need to consult the user's manual 
for the BASIC language as it works on the 
large source computer. Dr Lien recognizes 
this, as he states in the introduction, "The 
BASIC Handbook is not a substitute for the 
manufacturer's manual which accompanies 
each computer. It is a supplement." 



198 



June 1979 © BYTE Publications Inc 



<« ISMELLAWUMPUS!!! >» 




• # 



or MOVE? 



££mir 



end 



J/ >«EMME«, CHS 



ISBN 0-931718-03-1 



$6.00 



Buy this book at your favorite 
computer bookstore or 
order direct from 
BYTE BOOKS. 

Send 60* per book for 
postage & handling. 




Its Jack Emmerichs' new 

book, Superwumpus', an exciting 

adaptation of the 'Wumpus' game for 

computer programmers. The cave system of the 

Wumpus is a dodecahedron, and you're the lost hunter 

who has to capture the Wumpus to lead you out. You'll have to 

hurry before your supplies are depleted, or before you're caught in 

a bat migration, a rock slide, or some other catastrophe. 

Superwumpus is outstanding in the realm of computer games 
as being both challenging and enjoyable. 

Superwumpus is programmed in both 6800 
assembly language and Basic, and comes 
complete with source listings and 
bar codes. 

watch out for Superwumpus- > iBJIIIl tl 

Its addictively f un! / > J|[j¥l Li V\v 




BBBNS 



"BOOKS OF INTEREST TO COMPUTER PEOPLE - 



70 Main Street, Peterborough, New Hampshire 03458 



Circle 36 on inquiry card. 



BYTE lune 1979 199 



FR€€ SOFTWARE! 



PRACTICAL MICROCOMPUTER PROGRAMMING: THEZ80 
by W.J. Weller 



FINALLY.... 



Here from W.J. Weller and Northern Techno- 
logy Books is the third in the Practical Microcom- 
puter Programming series. It is a comprehensive 
text covering assembly language programming 
for Z80 based microcomputers. The first 16 chap- 
ters cover Z80 programming comprehensively, 
from binary operations to interrupt handling. In- 
cluded are chapters on moving data, logical and 
arithmetic operations, use of the stack, commu- 
nications with the terminal, floating point arith- 
metic and graphic output. All programming tech- 
niques are illustrated with formal tested ex- 
amples. An important feature of the book is that 



AN EDITOR/ASSEMBLER SYSTEM 

FOR 8080/8085 BASED COMPUTERS 

by W.J. Weller and W.T. Powers 

This 148 page book contains complete information for initializing 
and using a powerful new editor/assembler and debugging monitor 
system, and the full SOURCE text of both. The assembler fully sup- 
ports all Intel instruction mnemonics as well as the entire language 
used in Practical Microcomputer Programming™:The Intel 8080. The 
editor/assembler is resident in less than 8K RAM and will run on 
any 8080, 8085 orZ80 based computer with peripherals which trans- 
fer on a character basis or can be made to do so by buffering. The us- 
er supplies his or her own I/O drivers. The text editor is extremely 
simple to use and does not require irrelevant line numbers. Also in- 
cluded is a program to convert Processor Technology™ format tapes 
to a format usable by the editor/assembler. 

This system is not the usual "quickie" software, riddled with er- 
rors and limitations, but a professionally created, thoroughly tested 
and debugged system. At $14.95 it is the best software bargain you 
are ever likely to see. 

AND BY THE WAY... paper tape object copies of all this software 
are sent FREE to book purchasers when the coupon at the back of the 
book is returned to Northern Technology Books. 8 1 /2" x 11". $14.95 

• 8080/8085 editor /assembler object code on diskette for North 
Star disc systems. Only $14.00 

• 8080/8085 editor/assembler and debug source code for North 
Star disc systems. Only $14.00 

• Or both for $26.00! 

PRACTICAL MICROCOMPUTER PROGRAMMING: 
THE INTEL 8080 
by W.J. Weller, A.V. Shatzel and H.Y. Nice 

Here is a comprehensive source of programming information for 
the present or prospective user of the 8080 microcomputer, including 
moving data, binary arithmetic operations, multiplication and divis- 
ion, use of the stack pointer, subroutines, arrays and tables, convers- 
ions, decimal arithmetic, various I/O options, real time clocks and 
interrupt driven processes, and debugging techniques. 

This 306-page hardcover book is well worth its $21.95 price and 
should be in every 8080 or Z80 user's library. 

PRACTICAL MICROCOMPUTER PROGRAMMING: THE M6800 
by W.J. Weller 

This second volume of the Practical Microcomputer Programming 
series addresses the problems of applications programming at as- 
sembly level for the M6800. In 16chaptersand more than 100 formal 
examples , the fundamental techniques of assembly level programm- 
i ng are applied to the solution of specific problems with the 6800. No- 
where theoretical, it is a thorough and detailed methods text for the 
beginning and intermediate application programmer using the 6800. 
$21 .95 hardcover. 



it uses the universal standard 8080 mnemonics. 
This is of great help to users who are upgrading 
their machines and software to utilize the Z80 
processor. 

The last part of the book is software; an editor/ 
assembler which will run on any 8080 or Z80 ma- 
chine and a debugging monitor. 

Hardcover $29.95 



p 


- 


el 


...EmracAi 

WICHOCOMTOTEB 
PROGRAMMING 
I Hf: zku rt 

8 


9* 


V 



a quality assembler for the TRS-80* 




Send in the coupon supplied with the book and 

receive FREE the object programs of the editor/ 

assembler and debug on either paper tape or on 

cassette tape for the TRS-80 microcomputer. 

(Loads in Level I with 16K RAM or Level II.) 

Both the book and software for only $29.95! 

Also available is the editor/assembler object code for the Z-80 

on diskette for North Star disc systems. Only $14.00 

In addition, the editor/assembler and debug source code for the 

Z 80 are available on diskette for North Star disc systems. 

Only $14.00 

Or both for $26.00! 



BITS 

Books to erase the impossible 



inc 



25 Route 101 UJest, 
PO Box 428, 
Peterborough, NH 03458 

603-924-3355 



Please send me the items checked below. 

□ Practical Microcomputer Programming — TheZ80 

(with choice of either FREE paper tape or FREE TRS-80 cassette 
when I mail coupon supplied with book) $29.95 
D Editor/Assembler System for 8080/8085 Based Computers 
(with paper tape object copies of the software sent FREE when I mail 
coupon supplied with book) $14.95 

□ Practical Microcomputing Programming — The Intel 8080 $21 .95 

□ Practical Microcomputing Programming — The M6800 $21 .95 

□ Editor/assembler object code for the Z 80 on diskette for North 
Star disc systems $14.00 

□ Editor/assembler and debug source code for the Z 80 on diskette 
for North Star systems $14.00 

□ SAVE $2.00! Both object code and source code for the Z 80 $26.00 

□ Editor/assembler object code for 8080/8085 on diskette for North 
Star disc systems $14.00 

□ Editor/assembler and debug source code for 8080/8085 on disk- 
ette for North Star disc systems $14.00 

□ SAVE $2.00! Both object code and source code for 8080/8085 $26. 



Total enclosed $.. 



_(Please enclose 75« shipping/handling 



for each item ordered) 

□ Check Charge Card □ Master Charge □ Visa 

Card # 

Expires Signature 



Name_ 



Address_ 



City 



_State_ 



-Zip_ 



Dial your charge card orders toll-free: 800-258-5477 Mon.-Fri 9 - 5 PM 
(In New Hampshire dial 924-3355) 



* A trademark of Tandy Corporation 



You may photocopy this page 



Dealer inquiries invited 



200 



BYTE June 1979 



Circle 91 on inquiry card. 



Dr Lien treats the END statement in a 
way I dislike. He describes it only as a means 
of terminating program execution; whereas 
many computers use END as a means of in- 
dicating the end of the program text, and 
some systems use END as a marker for the 
physical end of file when a program is stored 
on a disk. Programmers treating END only as 
an execution terminator scatter ENDs 
throughout the program. If an unsuspecting 
user types in such a program on a system 
using END for end of file and saves it on a 
disk, he may lose the result of hours of 
work. I prefer the use of the STOP state- 
ment for terminating program execution 
other than at the end of the program. 

I hope that BASIC experts will communi- 
cate with Dr Lien, to provide him with exact 
information concerning the more exotic fea- 
tures of the language. Then, perhaps, the 
second edition of this essentially helpful 
book can be more helpfully essential. All 
things considered, the book is a useful pur- 
chase, especially for the beginner, but I urge 
that it be improved. An improved version 
could truly require the appellation "encyclo- 
pedia." 

Richard S Shuford 
Editor" 



Structured Programming and 
Problem-Solving with Pascal 

by Richard B Kieburtz 

Prentice-Hall, Englewood Cliffs NJ 1978 

365 pages paperback 

$10.95 



Good habits appear to be in vogue for 
1979. In programming, the good habits that 
we are suddenly hearing about are docu- 
mentation, top-down design and bottom-up 
coding techniques, and the Pascal language. 
Richard B Kieburtz's book demonstrates 
the necessity of a firm grounding in the de- 
sign and implementation of programs in 
order to cope with the complexity of 
today's programming problems. 

The book is divided as follows: 45 per- 
cent Pascal, 45 percent structured design and 
programming techniques, and 10 percent 
theory (introductory material on computers 
that qualifies the book for use as a college 
textbook). 

Pascal is largely defined and taught by 
the context of its use in solving problems 
such as determining the intersection of two 
line segments, writing a word processing 
program, and running a rabbit population 
simulation. Although there is an index of 



NO FRILLS! NO GIMMICKS! JUST GREAT 

DISCOUNTS 

MAIL ORDER ONLY 



HA2ELTINE 

1400 $ 679.00 

1500 995.00 

Mod 1 1495.00 

CENTRONICS 

779-1 954.00 

779-2 1051.00 

700-2 1350.00 

761 KSR tractor 1595.00 

703 tractor 2195.00 

NORTHSTAR 

Horizon I assembled. . 1629.00 

kit 1339.00 

Horizon II assembled. . 1999.00 

kit 1599.00 

Disk System 589.00 

TELETYPE 

Mod 43 995.00 

IMS 

16K Static Memory. . . 459.95 



DIGITAL SYSTEMS 

Computer $4345.00 

Double Density 
Dual Drive 2433.00 

IMSAI 

VDP 80/1000 $5895.00 

VDP40 3795.00 

VDP42 3895.00 

VDP44 4195.00 

16K Memory assem.. . 399.00 

PCS 80/15 679.00 

15% off on all other Imsai products 

CROMEMCO 

System III $1000 ott . . 4990.00 

10% off on all other Ctomemco products 

TEXAS INSTRUMENTS 

810 Printer 1595.00 

CENTRONICS 

MicroPrinter 495.00 



Most items in stock for immediate delivery. Factory-fresh, sealed cartons. 

DATA DISCOUNT CENTER p.o.boxioo 

135-53 Northern Blvd., Flushing, New York 11354, 212/465-6609 

N.Y.S. residents add appropriate Sales Tax. Shipping FOB N.Y. 
I BankAmericard, Master Charge add 3%. COD orders require 25% deposit. 



Expand yourTRS 80. 

Save $100. 

Meet the Vista V80 Mini Disk System. The perfect way 
to upgrade yourTRS-80* system. Inexpensively. 
(Our $395.00 price is about $1 00.00 less than the 
manufacturer's equivalent.) Here's how it can help you. 

23% more storage capacity. Useable storage 

capacity is increased from 55,000 to 65,000 bytes on 

drive one. 

8 times faster. While electronically equal to the TRS- 

80 Mini-Disk system, track-to-track access is 5ms 

versus 40ms for the TRS-80. 

Better warranty. The V80 carries a 1 20 day warranty - 

longer than any comparable unit warranty available. 

The Vista V80 Mini Disk System comes complete with 
Minifloppy disk drive, power supply, regulator board 
and case. And it's ready to run -simply take it out of the 
box, plug it in and you're ready to go. 



Vista 



1 320 East St. Andrews Place, Suite I 

Santa Ana, California 92705 

(714)558-8813 

At Vista, we mean business. 

*TRS-80 ©Tandy Corp. 



Circle 378 on inquiry card. 



June 1979 © BYTE Publications Inc 



201 



Circle 357 on inquiry card. 



TINY' PASCAL 

for 
TRS-80® & NORTH STAR® 

Now you too can have Pascal! The Chung/Yuen 'Tiny' Pascal has 
been specially designed for TRS-80 & North Star owners. The full 
power & elegance of 'Tiny' Pascal is at your command. Programs 
written in 'Tiny' Pascal run at least 4 times faster than the same 
program in BASIC! 'Tiny' Pascal is also a great way to learn 
Pascal Programming, & fun too. 

The minimum system requirements are: Level II, 16K for TRS-80, 
& 24K for North Star (specify single or double density). 

SOURCE TOO! 

But most important, you also get source to 'Tiny' Pascal written 
in Pascal with each purchase! You can even compile the com- 
piler! (Requires 36K for North Star systems, & 32K, Level II for 
TRS-80). You can customize your own version, or just use it the 
way it is. 

'Tiny' Pascal is a subset of Standard Pascal & includes: 
RECURSIVE PROCEDURE/FUNCTION, IF-THEN-ELSE, 
REPEAT/UNTIL, 'PEEK & POKE', WHILE, CASE, & MORE! 

Also you can save & load programs. 

You get all this & more, plus a user's manual for $40.00. 

available from: 

MB 



P.O. Box 1628 

Champaign, IL 61820 

(217) 344-7596 

All orders pre-paid, Illinois residents add 5% sales tax 



At last a 



DICTIONARY 
TRS-80 

6000 words in 12K! 



A selection of 6,000 words (no definitions!) up to 9 
letters long, with an average length of over 5 letters. 
Indexed by first, second and last letter. Answers the 
vital question — what word has a first letter of U, a 
third of G and a last of T? Great for Scrabble or cross- 
words or your own word games. Each word has a two 
byte code; handy for text compression too. Requires 
16K Level II. 



$14.95 us 



($17CDN) 



HEXAGON SYSTEMS 

P.O.Box 397, Station A 

Vancouver, B.C. V6C 2N2 Canada 



Pascal terms pointing back to the text, many 
of these terms are not defined in sufficient 
detail to help debug a Pascal program. The 
book is readily understandable to anyone 
unacquainted with the language, but it 
should not be used as the sole reference 
book on Pascal as it describes a generalized 
Pascal that manipulates both character and 
numeric variables. Specifically, it does not 
mention some of the more advanced UCSD 
(University of California at San Diego) ex- 
tensions to Pascal. 

The concept that is the cornerstone for 
both the theory and implementation of 
structured techniques in this book is known 
as "design by stepwise refinement." This 
automatically implies two techniques that I 
find best for problems of any complexity: 
top-down design and bottom-up coding. 
Top-down design (breaking a problem into 
manageable subproblems) produces a mod- 
ular program that can be easily modified. 
Bottom-up coding (writing the code for every 
subproblem before writing the code that 
uses them) avoids the problem of having to 
rewrite the high level routines to add some- 
thing that you found you needed at a later 
date. Kieburtz uses a relatively new flow- 
chart-like notation that depicts the funda- 
mental structured programming constructs 
(do-while, repeat-until, sequence, if-then- 
else, and case) in a way that is both graphic 
and intuitively understandable. For example, 
the body of a do-while clause is a rectangle 
bordered on the left and top by an L-shaped 
piece that describes the while condition for 
repeating the block. 

The book also introduces several of the 
better known algorithms and ideas in com- 
puter science: the linear interpolation and 
binary search methods of extracting roots, 
Gaussian elimination to solve simultaneous 
equations, backtracking trial and error 
methods (to solve the eight queens prob- 
lem), and several simulation examples. The 
final chapter, "How Does the Computer 
Work?," deals with binary numbers, ma- 
chine language, and computer architecture. 
It is obviously there to catch a larger slice 
of the textbook market. 

All in all, this book is reasonably priced 
and well worth the money. It is a good 
introduction to Pascal (but only that), and 
it exposes the reader to good programming 
habits on all levels. I wish that I had been 
exposed to this kind of book when I was 
learning to program. 

Gregg Williams 

1605 Eastmoreland #3 

Memphis TN 38104- 



202 



June 1979 © BYTE Publications Inc 



Circle 161 on inquiry card. 



Circle 316 on inquiry card. 



Revolution in Miniature 

by Ernest Braun and Stuart MacDonald 

Cambridge University Press, 1978 

231 pages hardcover \ 

$16.95 

The invention of the transistor was not a 
fortuitous accident of pure research. It had 
been sought for years before its actual 
invention. A working (though impractical) 
solid state amplifier had been demonstrated 
as early as 1933, and in 1939 Dr William 
Shockley tried to put a "grid" in a copper 
oxide rectifier. It didn't work. When devel- 
opments in physics finally permitted its in- 
vention, the transistor principle was iden- 
tified within weeks by Bell Laboratories, 
Purdue University, and a French team, 
all working independently. 

These are some of the fascinating, amus- 
ing, and always factual incidents related in 
Revolution in Miniature. The book traces 
the history of solid-state electronics from 
the coherer (the first solid-state electronic 
device) to large scale integration. One of the 
authors is a historian, the other is a physi- 
cist, and I can't think of a better combina- 
tion for this endeavor. The flair that these 
two British authors exhibit with their com- 
mand of the English language provides a 
force of expression seldom seen in a tech- 
nical book. 

As the publisher states, "Semiconductor 
electronics' . . . effect on life in the second 
half of the twentieth century can hardly be 
overestimated." Solid-state technology has 
made possible things that were never before 
envisioned, yet in the beginning the tran- 
sistor was seen, even by its developers, as 
a mere substitute for the triode tube (or 
"valve," as described herein). The later, 
more successful transistor types were often 
electrically inferior to the fragile, lab assem- 
bled models and were adopted only in the 
interests of cheap, uniform mass-production. 
Early integrated circuits contained a lot of 
hand labor, and digital electronics as we 
know it today resulted from attempts to 
minimize the passive components needed in 
earlier analog circuitry. 

The book is heavily footnoted and the 
bibliography is impressive. Aside from enter- 
tainment value, the historical data is well- 
worth having for reference. You will find 
answers to such questions as: who developed 
which manufacturing techniques; which key 
people spun a new company off from an 
established one; why Silicon Valley is what 
it is; and which bar is the scene of employee 
and information swapping. It's a lot like read- 
ing someone's diary. 



CATCH THE 

S-100INC. 

BUS! 






OUR 
LIST SPECIAL 
PRICE CASH 

PRICE 



S.D. Versafloppy Disk 

Controller Kit 
S.D. Expandoram 32/64K 

Memory Kit 
Imsai MIO Multiple I/O 

Interface Kit 
Anadex Model DP8000 U/L 

Case Printer W/RS232 
SSM I/O 4 Parallel & Serial 

Interface Kit 
Xitan Z-80 ZPU Factory 

Assembled and Tested 



159.00 135.00 

141.00 120.00 

195.00 166.00 

995.00 850.00 

149.95 128.00 

199.00 170.00 



Call for Our Prices on: 

Cromemco, IMSAI, Vector Graphic, North Star, Sanyo, 

Hazeltine, IMC plus Most Other Major Lines. 

Subject to Available Quantities • Prices Quoted Include Cash Discounts. 
Shipping & Insurance Extra. 

bus S-JOQ,inc. 

Address 7 White Place 

Clark, N.J. 07066 
Interface 201-382-1318 



WE SHIP FROM STOCK-EVERYTHING FACTORY FRESH, FULLY WARRANTEED 

WE ARE KNOWN FOR OUR PROMPT, COURTEOUS SERVICE 

TELETYPE MODEL 43 TTL $985 

RS232 $1 ,085 

IWe stock Teletype Paper and Ribbons) 

DEC LA 34 

High quality, hard copy, dot matrix printer. Plug compatible substitute 

for the Teletype 43. RS232 included at no extra cost $1,159 

HAZELTINE 1500 assembled $945 

1510 $1,085 

Also available with French, German or Danish character sets. 

MARINCHIP SYSTEMS M9900 CPU 

The Complete, Compatible 16 bit CPU for the S-100 Bus 

Kit Assembled 

M9900 (includes software) $550 $700 

We configure systems to suit your individual requirements. 
MODEM 

Originate/Answer. The "CAT" from Novation $190 

HARD DISK CONTROLLER From Konan $1,550 

S-100 compatible; plugs into S-100 mainframe, controls 1-4 drives. 

We Also Carry: 

•PERSCI«FUJITSU HARD DISK DRIVES'TEI MAINFRAMES' 

• TARBELL CONTROLLERS • INTERTUBE • SOROC • 
• IMS AND OTHER MEMORIES • TELL US OF YOUR NEEDS • 

• WE CAN OBTAIN MANY ITEMS AT LOW COST • 

To Order: $10 shipping for Terminals. $3 shipping for other items. 24 

hr. shipping upon receipt of certified check or money order. Personal 

checks: allow 10 days. Credit cards: 4% charge. NY residents add tax. 

* WE EXPORT TO ALL COUNTRIES * 

OVERSEAS CALLERS USE (212) 448-6298 ONLY 

WE CAN ADAPT MOST EQUIPMENT FOR 220v, 50Hz 

We have no reader inquiry number. Please call or write. 

john d. OWENS ASSOCIATES, inc. 

147 NORWOOD AVENUE 
STATEN ISLAND, NEW YORK 10304 

DAY. EVENING. WEEKEND, HOLIDAY CALLS WELCOME! 



(212) 448-6283 



(212) 448-6298 



June 1979 © BYTE Publications Inc 203 



I * — ■ ■ 



Circle 372 on inquiry card. 



Ipsns-Qsts Qoppcpstion 



ANNOUNCES MICROCOMPUTER SOFTWARE 

FOR APPLE II, NORTH STAR, 

& OHIO SCIENTIFIC USERS 

APPLE II 

•FILE MANAGEMENT SYSTEM (32 K) $60.00 

It's used to create, add, change or delete data records on disk. 
Includes label printing & mailing list. 

•WORD PROCESSOR (32 K) $60.00 

Disk based word processor includes upper & lower case plus 
complete printer control and more. 

•STEP by STEP (16 K) $39.95 

(add $10.00 for disk version) 

Computer Basic course in 20 lessons, 10 quizzes & final test. 

NORTH STAR 

♦INVENTORY $25.00 

•MEDICAL BILLING $25.00 

•PAYROLL $25.00 

•COMPLETE BUSINESS PACKAGE 

OHIO SCIENTIFIC (All Series) 

*GAMES*SMALL BUSINESS PACKAGES 
♦EDUCATIONAL SOFTWARE 

We have the most sophisticated library of software for these 
microcomputers in stock. Send $1.00 for software catalog or 
call our toll free number (800) 327-8455. 
Please specify disk or tape version. 

Trans-Data Corp. 

161 Almeria Avenue, Suite 100-E 
Coral Gables, Florida 33134 



TRS-80 means business! ! ! 

...with CP/M, CBASIC2, 
& applications software. 

CP/M ("the software bus") & CBASIC2 (the stan- f 
dard for business software) bring new power and | 
versatility to I he TRS-80 for practical use. 



CP/M Operatinq System (w/Editor, Assembler, 

Debugger, Utilities & 6 manual set) $150 

CBASIC2 Compiler (w/manual) $ 95 

| DESP00L Print Spooler (w/manual) $75 

*Osborne & Assoc. PAYROLL W/C0ST 

ACCTNG $250 

*Osborne & Assoc. ACCTS. RECEIVABLE & 

ACCTS. PAYABLE $250 

*Osborne & Assoc. GENERAL LEDGER $250 

*=CBASIC2 source programs; add $15 (each) for 
applicable O & A book, 

APH - Self-administered Automated Patient 

History $175 

Write/call for additional software available & FREE 
"CP/M Primer". 



CA residents add 6% tax. 

|C;.YlB,[E.lR|N|E IT I 



Visa, M/C,M/0,Check OK. 




IC.IS, 



(714) 848-1922 



8041 NEWMAN AVENUE 

stufumrnmrnsm 



SUITE 208 • HUNTINGTON BEACH. CALIFORNIA 92647 



Revolution in Miniature is a must as a his- 
torical reference, and great reading for both 
electronics types and those who don't care 
about how things work. It provides first class 
nostalgia for the old-timers who actually 
remember using crystal sets, who remember 
when tubes "went miniature," and who have 
tried to make equipment smaller by simply 
cramming conventional parts closer together. 
As the authors state, at one time it was 
theoretically possible to achieve a parts 
density of 1000 per cubic foot, but in prac- 
tice the heat wouldn't permit it. Our thanks 
are due to all of those pioneers who made 
this remarkable revolution possible. 

Ernie Brooner 

COM LABS 

POB 236 

Lakeside WIT 59922" 



How to Program Microcomputers 

by William Barden Jr 

Howard W Sams and Co, Indianapolis 1977 

256 pages paperback 

$8.95 



How to Program Microcomputers is an 
introduction to machine language program- 
ming for the 8080, the 6800, and the 6502 
microprocessors. The only other book I have 
seen that attempted to teach programming 
for a group of microcomputers did so by 
presenting all problems in a superset of the 
PL/M language. This book takes a different 
approach, and uses the assembler mnemonics 
for each of the processors discussed. 

The book begins with an introduction to 
microcomputers: what they are, how they 
operate; and an introduction to alternative 
processor architectures. The structures of 
the 8080, the 6800, and the 6502 are 
described, then alternatives for addressing, 
memory access, stack manipulation, I/O 
(input/output) operation and interrupt pro- 
cessing are introduced. Each topic is illus- 
trated with features from the applicable 
microprocessor. 

The next part of the book deals with 
programming techniques. Data movement, 
arithmetic operations, multiple precision 
arithmetic, branching, indexing, subrou- 
tines, stack operations, table operations, 
list processing, bit manipulation, decimal 
and floating point arithmetic, and I/O 
are discussed, as well as how to put all of 
these elements together. As before, ex- 
amples are given for each processor. 



204 



June 1979 © BYTE Publications Inc 



Circle 85 on inquiry card. 



The last part of the book provides stan- 
dard algorithms for each machine. Twenty 
different building blocks (most of which 
belong in any good monitor) are given for 
each processor. Appendices summarize the 
instruction sets. 

There are three groups of people who 
might be interested in this book. The first 
group is composed of anyone becoming 
acquainted with microcomputer technology 
who wants an overview of the main pro- 
cessors in present hobbyist use. The second 
group is composed of people who already 
have a machine and who want good stan- 
dard routines. The third group (in which I 
am included) consists of those hobbyists 
who have a machine and who would like to 
see how other processors operate. While I 
would certainly never trade my Z-80 for any 
of the processors illustrated in the book, it 
is good to know how the rest of the world 
operates. 

John A Lehman 

716 Hutchins #2 

Ann Arbor Ml 48103» 



Circle 1 on inquiry card. 



If you need Business Reports with fancy 
frills you have the wrong company. We 
don't put these in our Software or our Ads. 
Both cost *** You *** Money. 

But if you need solid, Down-To- Earth 
Software for your North Star, Imsai, or 
other low cost Data Processing System 
written in Microsoft Basic or Cbasic in- 
cluding GL, AR, AP, Inventory, Payroll, 
Mailing List and Fixed Asset Accounting 
then you *** Do *** have the right 
company. 

GIVE US A TRY - WE KNOW YOU'LL BE GLAD YOU DID 
We honor Visa and Mastercharge 

102 Avenida Dela Estrella 

Suite 208 

San Clemente, CA 92672 

(714) 492-7633 



You can use the versatile new BETSI 
to plug the more than 150 S-100 bus 
expansion boards directly into your PET*! 

On a single PC card, BETSI has both interface circuitry and a 4-slot S-100 motherboard. With 
BETSI, you can instantly use the better than 150 boards developed for the S-100 bus. For 
expanding your PET's memory and I /O, BETSI gives you the interface. The single board 
has both the complete interface circuitry required and a 4-slot S-100 motherboard, plus an 
80-pin PET connector. BETSI connects to any S-100 type power supply and plugs directly 
into the memory expansion connector on the side of your PET's case. And that's it. You 
need no additional cables, interfaces or backplanes. You don't have to modify your PET in 
any way, and BETSI doesn't interfere with PET's IEEE or parallel ports. And when you 
want to move your system — BETSI instantly detaches from your PET. 

BKTSI is compatible with virtually all of the S-100 boards on the market, including memory and 
I/O boards. BETSI has an on-board controller that allows the use of the high-density low-power 
"Expandoram" dynamic memory board from S.D. Sales. This means you can expand your 
PET to its full 32K limit on a single S-100 card! Plus, you won't reduce PET's speed when 
you use either dynamic or static RAM expansion with BETSI. Additionally. BETSI has 
four on-board sockets and decoding circuitry for up to 8K of 2716-type PROM expansion 
(to make use of future PET software available on PROM). BETSI jumpers will address the 
PROMs anywhere within your PET's ROM area. too. 



MAIL ORDER SARE 
NORMA LLY SHIPPED 
WITHIN 48 HOURS. 
VISA AND MASTER- 
CHARGE ORDERS ARE 
BOTH ACCEPTED. 



The BETSI Interface/Motherboard Kit includes all 
components, a 100-pin connector, and complete 
assembly and operating instructions for SI 19. 

The Assembled BETSI board has four 100-pin 
connectors, complete operating instructions and a 
full 6-month Warranty for just SI 65. 

FORETHOUGHT PRODUCTS 

87070 Dukhobar Road #K 
Eugene, Oregon 97402 
Phone (503) 485-8575. 







BETSI is the new I nterf ace/ Motherboard from Forethought 
Products — the makers of KIMST" — which allows users of 
Commodore's PET Personal Computer to instantly work 
with the scores of memory and I/O hoards developed for the 
S'100 (tmsai/Altair type) bus. UETSI is available from stock 
on a single S'/'" x 10" printed circuit card. 




UETSI is available off-the-shelf from your local dealer or {if 
they're out) directly from the manufacturer. 



Ask about our 
memory prices, too! 



*l'l ; I is ii Com mod on: product. 



Circle 135 on inquiry card. 



June 1979 © BYTE Publications tnc 205 



Programming Quickies 



Alan R Miller 

New Mexico Tech 

Socorro NM 87801 



10 REM TEST FACTORIAL SUBROUTINE 

20 INPUT "FACTORIAL OF ";X:GOSUB 5000 

30 PRINT "THE FACTORIAL OF ";X;" IS ";G 

40 GOTO 20 

5000 REM GAMMA FUNCTION G(X) 

5010 Y0=X+1:Y= Y0+5: Y2= Y*Y*30: Y1=SQR(2*3.14159/Y*YTY 

5020 G= Y1*EXP((1-1/(30*Y2))/(12*Y)-Y)/Y0 

5030 FOR 1 = 1 TO 4: G= G/ (Y0+I): NEXT: RETURN 

OK 

Listing 1 : BASIC program for determining factorials using 
the gamma function. 



RUN 
FACTORIAL OF ? 2 
THE FACTORIAL OF 2 IS 2.00001 
FACTORIAL OF ? 3 
THE FACTORIAL OF 3 IS 6.00003 
FACTORIAL OF ? 4 
THE FACTORIAL OF 4 IS 24.0001 
FACTORIAL OF ? 5 
THE FACTORIAL OF 5 IS 120.001 
FACTORIAL OF ? 8 
THE FACTORIAL OF 8 IS 40320.1 
FACTORIAL OF ? 12 

THE FACTORIAL OF 12 IS 4.79001 E+08 
FACTORIAL OF ? 16 

THE FACTORIAL OF 16 IS 2.09228E+13 
FACTORIAL OF ? 20 
THE FACTORIAL OF 20 IS 2.43292E+18 

Listing 2: Sample run of the factorial 
program. Notice that the answers are not 
exact. The truncated integer portions of the 
smaller results are exact factorials; as the 
factorials grow in size, the result quickly 
exceeds the precision of the floating point 
representation of the numbers. 



BASIC Factorials 



Here's another function to add to your 
BASIC, a factorial calculator. The factorial 
of a number X is equal to X times X-1 times 
X-2 etc down to one and is represented by 
X! Thus 4! is 24. For large values of X, 
Stirling's approximation can be used to find 
the gamma function which is readily con- 
verted to the factorial by the relation: 

X! = r(x + i) 

To find the factorial of X with the BASIC 
program shown in listing 1, execute a jump 
to subroutine at line 5000. On return, the 
factorial of X will be in G. If for some 
reason the gamma function itself is wanted, 
remove the first statement from line 5010 
and GOSUB 5000 with the argument in Y0. 
The subroutine works by finding the 
gamma function of a number six values 
larger than the argument: 



xi= r(x + i) 

(X + 5) = T(N) 

= V2tt/N N n 
exp 



^2X \ 30X2/ 



-X 



r(x) = r(N)/(x(x + i) (x + 2) 

(X + 3)(X+4)) 

This function is only approximate, as can 
be seen in the sample run of listing 2. The 
returned value should be rounded to the 
nearest integer." 



THE /M\0©D^°) MOTOROLA M6809 




DS-80 S-100% compatible video digitizer with 
256 x 256 resolution & 64 levels ot grey 
scale. $349.95 

DS-68 The same item tor the SS5076800 buss 

$169.95 
HPHINT 6800 Driver software in 2708 lor Malibu 
160 printer Wiring diagram included. 

$39.95 
BIOPIC Complete Biorhythm and Computer Portrait 
Software in 2708S lor Malibu printer, 
DS-68 and SWTPC 6800 computer. 

$175.00 

PSB-08 Prom system board with 8K ol 2708 and 

1K ram lor all SS-50 Computers. $119.95 



EMULATOR 



Smoke Signal Disk Users! 
Run Mixed 5 and 8 Inch Drives 

The Disk Mixer Is a retrofit kit for Smoke 
Signal Disk controller boards capable of 
driving either 5 in. or 8 In. disks that allows 
the user to mix drive sizes. DM-85 allows 
any configuration of 5 in. and 8 in. drives to 
be user defined, and provides the appropri- 
ate clock signals for the disk being access- 
ed. This Is a kit, and Is not recommended 
for those without hardware experience. 

$39.95 



Run 6809software before the chip Is 
available! 

E6809 is a 6800 machine language program 
that emulates all of the functions of the 
Motorola 6809 third generation micro- 
processor. Developed for use on any SS-50 
computer system, the program allows soft- 
ware development and debugging prior to 
6809 availability. The 3 K byte program is 
complete with a 6809 mini-monitor for ease 
of use, and on source listing. Available In 
Smoke Signal or Flex format disk, or cas- 
sette tape. $49.95 
•See Byte, Jan., Feb., Mar., 79 



P.O. BOX IIIO DEL MAR, CA. SS014 714-756-SB87 



Master Charge 

and 
BankAmericard 



206 June 1979 © BYTE Publication 



is Inc 



Circle 231 on inquiry card. 



An 8080 

Free Memory Search 



William M Hand 
18660 Arden Av 
Brookfield Wl 53005 



Since my computer system is continually 
in a state of flux, I sometimes lose track of 
the addressing for the various memory 
boards. To eliminate the hunt-and-seek 
method of locating unprotected memory 
blocks, I put together the routine in listing 1 
(see page 208) to examine all memory space 
from hexadecimal 0000 to FFFF and report 
the start and end addresses of all available 
spaces. 

A memory location exists and is not pro- 
tected if the processor can write a word to 
memory and read back the same word. 
However, since any given memory location 
may have a value from to FF (the range of 
the 8080 processor), some care must be 
exercised in declaring a location as existing 
and available. 

To address this problem, I use a double 
store routine in which the processor first 
stores one arbitrary number and then an- 
other different number. If the processor 
reads back the correct number for both 
stores, that location is a valid unprotected 
memory cell. [This could also be used as 
a memory failure check if the two values 
used were hexadecimal 0000 and FFFF .... 
RGAC] 

Two notes are needed relative to listing 1 . 
First, the line with the pound sign (#) is the 
link back to the calling routine. If the 
FMAR routine is called as a subroutine, this 
line should be replaced with a return instruc- 
tion. Second, note that upon exiting, the 
DE register pair points to the next address 
past the last address pair from the routine. 
The pointers for start and end of free mem- 
ory blocks may be pulled out with LHLD or 
POP instructions. 

Also, the routine itself should be located 
in protected memory (along with the oper- 
ating system, for instance) since the routine 
will self-destruct if located in unprotected 
memory. Be sure to provide sufficient room 
for the DE register pair to expand. 

Total memory requirements for this 
routine are 66 bytes plus the stack area 
for the DE register pair storage of free mem- 
ory boundaries. 

If desired, the FMAR routine may be 
used to simply output the addresses to a 
Teletype or terminal." 




64KB MICROPROCESSOR 
MEMORIES 

• S-100 - $695.00 • SBC 80/10 - $750.00 

• LSI 11 - $750.00 • 6800 - $750.00 



CI-S100 — 64K x 8 on a single board. 
Plugs directly into the IMSAI, MITS, 
TDL, SOL and most other S-100 Bus 
computers. No wait states even with 
Z80 at 4Mhz. Addressable in 4K in- 
crements. Power requirement 6 watts. 
Price $695.00. 

CI-1103 — 8K words to 32K words in a 
single option slot. Plugs directly into 
LSI 11, LSI 11/2, H11 & PDP 1103. 
Addressable in 2K increments up to 
128K. 8K x 16 $390.00. 32Kx 16 $750.00 
qty. one. 

CI-6800 — 16KB to 64KB on a single 
board. Plugs directly into Motorola's 
EXORcisor and compatible with the 
evaluation modules. Addressable in 
4K increments up to 64K. 1 6KB $390.00. 
64KB $750.00. 

CI-8080 — 16KB to 64KB on single 
board. Plugs directly into Intel's MDS 
800 and SBC 80/10. Addressable in 
4K increments up to 64K. 16KB $390.00. 
64KB $750.00 



CI-S100 64K x 8 
Minimi 




CI-1103 32K x 16 




ii 'iiniiTiimiimiiiMiSiii' - " 
CI-6800 64K x 8 



Sjl. i i ffflil . 
m 1 1 * j as«;E;3| 

CI-8080 64K x 8 



€ 



Tested and burned-in. Full year warranty. 

Chrislin Industries, Inc. 

Computer Products Division 

31352 Via Colinas • Westlake Village, CA 91361 • 213-991-2254 



Circle 47 on inquiry card. 



June 1'J7!I © UYTE Publications Inc 



207 



Listing 1 : 8080 assembly language program for finding areas of memory that 
are free and unprotected. Modifying the command on line 6 allows the pro- 
gram to start looking at any point in memory. 



0000 


*Free 


Memory 


Allocatior 


Routine 


0001 


* 


locates available unprotected memory 


0002 


* 








0003 


* 


coming in: D&E 


point to location 


0004 


* 


where 


results are to be stored 


0005 


* 








0006 


FHAR: 


LXI 


H,0 


;SET HiL TO 0000 


0007 


FMAR1- 


CALL 


LOOK 


;L00K FOR FIRST FREE LOCATION 


0008 




JZ 


REP1 


; FOUND IT, REPORT IT 


0009 


FMAR3: 


CALL 


CHECK 


;LOOK FOR END OF MEMORY 


ooio 




JNZ 


FMAR1 


;N0T YET, LOOK SOME MORE 


0011 




# JMP 


EXEC 


;END OF MEMORY, RETURN TO EXECUTIVE 


0012 


REP1: 


CALL 


REPOR 


; REPORT FIRST FREE LOCATION 


0013 


FMAR2 


CALL 


CHECK 


;SEE IF AT END OF MEMORY 


0014 




JNZ 


TRYON 


;N0T YET, CONTINUE LOOKING 


0015 


FMAR4 


DCX 


H 


;REP0RT LAST LOCATION 


0016 




CALL 


REPOR 




0017 




JMP 


FMAR3 


;AND USE CHECK TO EXIT 


ooie 


TRYON 


CALL 


LOOK 


;L00K FOR A FREE LOCATION 


0019 




JZ 


FMAR2 


;VALID LOCATION 


0020 




JMP 


FMAR4 


;N0T VALID, LOOK FOR START OF NEXT 


0021 


* 








0022 


LOOK: 


MOV 


C,M 


;SAVE MEMORY IN REGISTER C 


0023 




MOV 


M,H 


;WRITE H INTO MEMORY 


0021 




MOV 


A,M 


;READ MEMORY INTO A 


0025 




CMP 


H 


;SEE IF A AND H AGREE 


0026 




RNZ 




;NO, NOT VALID MEMORY 


0027 




MOV 


M,L 


;OK PASS 1, THIS TIME PUT IN L 


0028 




MOV 


A,M 


;READ BACK INTO A 


0029 




MOV 


M,C 


;PUT C BACK INTO MEMORY 


0030 




CMP 


L 


;SEE IF A AND L AGREE 


0031 




RET 




jRETURN WITH FLAGS SET 


0032 


* 








0033 


CHECK 


SUB 


A 


;SET A TO 


0034 




INX 


H 


INCREMENT H6L 


0035 




CMP 


H 


;SEE IF H=0 


0036 




RNZ 




;N0T YET, RETURN 


0037 




CMP 


L 


;SEE IF L=0 


0038 




RET 




;AND RETURN 


0039 


* 








OOUO 


REPOR 


MOV 


A,L 


;GET THE LOW ADDRESS 


0041 




STAX 


D 


; STORE WITH D6E POINTER 


0042 




DCX 


D 


; DECREMENT POINTER 


0043 




MOV 


A,H 


;GET HIGH ADDRESS 


0044 




STAX 


D 


;STORE WITH D&E POINTER 


0045 




DCX 


D 


;DECREMENT POINTER 


0046 




RET 




; RETURN 



Ashwin L Doshi 

5830 Green Valley Cir 105 

Culver City CA 90230 



5 Byte Hexadecimal 
to ASCII Converter 



I was recently challenged by a colleague 
to find the most efficient 8080 code to trans- 
late hexadecimal thru F (stored in the ac- 
cumulator) into ASCII thru 9 and A thru 
F (also in the accumulator). After I came up 
with a 5 byte translation, he showed me a 
well-published 6 byte translation (of which 
I was unaware) which is as follows: 

ADI 90H 

DAA 

ACI 40H 

DAA. 



The 5 byte code that does the same trans- 
lation is as follows: 

DAA 

ADI FOH 

ACI 40H. 

The latter assumes that the carry and the 
auxiliary carry are reset, which is the case in 
all applications that I could find of this 
translation." 



Checkbook Balancing 
Routine 

Loriny C White 

26 Boswell Rd 

Reading MA 02119 



Every month the bank statement arrives 
and we have to go through cancelled checks 
and the usual mathematical ritual to recon- 
cile our figures with those of the bank. Here 
is some software the computer enthusiast 
can use to balance a checkbook. The pro- 
gram in listing 1 is written in MITS 8 K 
BASIC Revision 3.2 (used on my Altair 
8800 computer). [Since the MITS 8 K 
BASIC language was written and imple- 
mented by the Microsoft Company, this 
same listing should work with minor changes 
on a number of computers besides the 
Altair. These include the Apple II with the 
"Applesoft" BASIC, the Radio Shack 
TRS-80 with Level II BASIC, and the 
Commodore PET computer. . . . CH/ If you 
have printer or Teletype, you can get hard 
copy of all pertinent information for later 
references. 

The program has the following features: 

• The initial printout is a listing of all 
outstanding checks by check number, 
date and amount. 

• A list of all cancelled checks as they 
are entered as well as a final summary 
list is given. 

• A new, updated list of outstanding 
checks is provided to update the list 
of checks appearing in the data state- 
ments. Provision is made for this list- 
ing to be in data format so that it can 
be punched on tape to make the pro- 
gram update easier. 

• The computer will search for each 
check listing as it is entered during 
the program run. 

• Input statements are provided for en- 
tering the bank statement balance; 
service charge and deposits not entered 
on the statement. 



208 



June 1979 © BYTE Publications Inc 



Circle 307 on inquiry card. 



3 

4 

5 

7 

8 

9 

10 

20 

21 

25 

26 

40 

50 

55 

60 

61 

65 

67 

70 

75 

80 

85 

90 

95 

97 

100 

102 

103 

110 

120 

130 

134 

135 

136 

137 

139 

140 

150 

160 

166 

168 

170 

180 

190 

191 

192 

193 

194 

200 

210 

220 

230 

240 

250 

260 

270 

280 

285 

290 

300 

310 

320 

500 

600 

601 

602 

603 

604 

605 

606 

607 

608 

609 

610 

611 

612 

613 

614 

615 

616 

617 

618 

619 

620 

700 



=D(X)THEN90 
=A(X)THEN100 



'DATE:";"AMOUNT:$";AR(N) 



DIM P(100) 

DIMN(100),D(100),A(100),NR(100),DR(100),AR(100) 

PRINT"PROGRAM TO BALANCE CHECK BOOK" 

PRINT"ONLY CHECKS NOT RETURNED SHOULD BE LISTED IN DATA 600" 

FORX=0TO70:PRINT"-"; : NEXT: PR INT 

PR INT"CHECK#","DATE(MDY)", "AMOUNT" 

FORN=1TO100 

READ N(N),D(N),A(N) 

IFN(N)=0THEN50 

S=S+A(N) 

PRINT N(N),D(N),"$";A(N) 

NEXT 

PRINT"LIST ALL CHECKS RETURNED: CHECK#,DATE(MDY),AMOUNT($)" 

PRINT"LIST '0,0,0' AS LAST CHECK IN LIST" 

FORN=1TO100 

INPUT NR(N),DR(N),AR(N) 

FOR X=1TO100 

IF NR(N)=0THEN130 

IF NR(N)=N(X)THEN80 

GOT095 

IF DR(N): 

GOT095 

IF AR(N): 

NEXT X 

NEXT N 

PRINT"CANCEL CHECK#:";NR(N) 

P(Y)=N 

Y=Y+1 

T=T+AR(N) 

GOT097 

PRINT'TOTAL AMOUNT IN $ OF CHECKS RETURNED FROM BANK=S";T 

PRINT"LIST OF CANCELLED CHECKS" 

PRINT "CHECK#","DATE(MDY)","AMOUNT$" 

FORY=0TO100:IFN(P(Y))=0THEN140 

PRINT NR(P(Y)),DR(P(Y)),AR(P(Y)) 

NEXT 

PRINT'TOTAL CHECKS NOT RETURNED=$";S-T 

INPUT"ENTER BALANCE PER STATEMENT FROM BANK $";B 

INPUT'TOTALOF DEPOSITS NOT CREDITED ON STATEMENT $";D 

INPUT"ENTER SERVICE CHARGE INDICATED ON BANK STATEMENT $";SC 

Z=B-S+T+D+SC 

PRINT"CHECKBOOK BALANCE SHOULD BE=$";INT(Z*10+2+.5)/10T2 

PRINT"REM TO DELETE ALL RETURNED CHECKS FROM DATA LIST" 

PRINT"REM TO SUBTRACT SERVICE CHARGE FROM CHECKBOOK BALANCE" 

PRINT"IF YOU WANT LIST OF CHECKS OUTSTANDING FOR NEW DATA" 

PRINT"LISTING THEN PREPARE TELETYPE TAPE LEADER AND TYPE 'YES' "; 

INPUT V$:IF V$="YES"THEN200 

GOTO500 

FORN=1TO100 

FORY=0TO100 

IFN(N)=0THEN500 

IFN(N)=NR(P(Y))THEN250 

GOTO280 

IFD(N)=DR(P(Y))THEN270 

GOTO280 

IFA(N)=AR(P(Y))THEN290 

NEXTY 

GOTO300 

NEXTN 

PRINT600+L;"DATA";N(N);",";D(N);",";A(N) 

L=L+1 

GOTO290 

END 

DATA 100,12876,18.75 

DATA 3,3177,2.6 

DATA 6,3177,16.2 

DATA 7,3177,48 

DATA 8,3177,16.75 

DATA 10,3177,251 

DATA 13,32177,70 

DATA 14,32877,70 

DATA 15,31477,70 

DATA 16,31577,15 

DATA 17,3777,12 

DATA 18,3977,5 

DATA 19,3977,5 

DATA 100,31077,88.4 

data 100,31177,15.62 Listing 1: Checkbook bal- 

data ?orj 3 3i077 2 8 ancing routines for Micro- 

DAT A 21,31277,47 
DATA 1,31277,52 
DATA 2,31277,150 
DATA 100,31477,9.93 
DATA 0,0,0 



soft (MITS) BASIC. The 
data statements contain 
all outstanding checks 
that will be checked. 



HEAVY PROGRAMS 
WITH A LIGHT TOUCH 

PDI educational software teaches 
with lively, interactive, motivating 
programs. PDI programs and games 
can teach you new skills and help 
your kids learn essential math, read- 
ing, and language skills. The light, 
direct, and entertaining style makes 
the software ideal for home use. 

See Program Design educational 
software for PET, Apple II, and 
TRS-80 at your local computer store. 

Product list available. 

Available at participating Computerlands 

And at these dealers . . . 



ALABAMA 

Byte Shop 
Huntsville 

ARKANSAS 

Data Cope 

Little Rock 

CALIFORNIA 

Byte Shop 

Santa Clara 

Byte Shop 

Westminster 

Computer Components 

Burbank 

Computer Components 

Van Nuys 

Computer Components 

Westminster 

Computer Forum 

La Mirada 

Computer Forum 
ante Fe Springs 
Hobby World 
Northridge 

Sanfa Rosa Comp. Center 
Santa Rosa 
COLORADO 
AMPTEC 
Denver 

CONNECTICUT 
Computer Place 
Stamford 
Computer Store 
Hartford 
Computer Store 
Windsor Locks 
Computer Works 
Westport 
FLORIDA 
Grlce Electronics 
Pensacola 

Gulf Coast Computers 
Milton 
Tampa 

O. Henry's Bookstore 
Davie 

Tomorrow Today 
Fort Richey 
Trans Data 
Coral Gables 
HAWAII 

Land of Light Computers 
Paia 

ILLINOIS 
Appletree Stereo 
DeKalb 

KappeTs Comp. Store 
Belleville 

INDIANA 

Home Computer Center 

Indianapolis 

LOUISIANA 

Computer Shoppe 

Metairie 

MARYLAND 

Computers Etc. 

Towson 

Computer Workshop 

Rockville 

MASSACHUSETTS 

Computer Store 
Burlington 
Computer Store 
Cambridge 



MICHIGAN 

Computer House 
Jackson 

MISSOURI 

Computer Country 

Florissant 

Forsythe Computers 

Bridgeton 

MONTANA 

Computer Store 

Billings 

NEVADA 

Byte Shop 

Reno 

NEW JERSEY 

Computer Encounter 

Princeton 

Computer Mart 

Iselin 

Computer Nook 

Pinebrook 

Shore Computers 

Toms River 

Typetronic Comp. 

Ramsey 

NEW YORK 

American Peripherals 

Lindenhurst 

Computer Corner 

White Plains 

Computer Factory 

New York City 

Computer General Store 

Lynbrook 

Computer Mart 

New York City 

NORTH CAROLINA 

Byte Shop 

Greensboro 

Byte Shop 

Raleigh 

OHIO 

Micro Mini Comp. World 

Columbus 

21st Century Shop 

Cincinnati 

TENNESSEE 

Computerlab 

Memphis 

TEXAS 

Computer Center 
Wichita Falls 
Computercraft 
Houston 

Somputer Patch 
dessa 

gomputer Shop 
an Antonio 

UTAH 

Computer Concepts Group 

Salt Lake City 

WASHINGTON 

Ye Olde Computer Shoppe 

Richland 

CANADA 

Computer Shop 

Calgary Alta. 

Kobetek Systems 

Wolfville, N.S. 

ENGLAND 

Petsoft 

Birmingham 




PROGRAM DESIGN, INC., 1 1 Idar Court. Greenwich, CT 06830 



Iune1979 © BYTE Publications Inc 



209 



• A final summary is provided giving 
the total of all outstanding checks, 
checkbook balance and the checks 
returned from the bank. 

How It Works 

To implement the program it is necessary 
to provide a list of all checks written by 
number, date, and amount in the data state- 
ments at the end of the program. When I 
first started writing the software I included 
the name of the company but later discov- 
ered that this information is not really 
needed. 

The first data statement in the program 
of listing 1 is: 

600 DATA 100, 12876, 18.75 

The statement says that check number 100 
was written on December 8, 1976 for the 
amount of $18.75. (I usually carry a number 
of blank checks in case I need to write a 
check. I always number this type of check 
with 100. At the end of the month I may 
have several checks with number 100 but 
this is no problem, because they are also 
identified with the date and amount.) 
The computer, when searching for each 
check, looks for all three pieces of informa- 
tion before assuming that the check has been 
located. Listing each check on a separate 



List Our 

CROMEMCO 20% DISCOUNT Price 

System III 5990 4800 

System II 3995 3200 

16K Ram 595 480 

NORTH STAR 16% DISCOUNT 

Horizan l-DD kit 1599 1344 

Horizan l-SD kit 1599 1299 

Horizan l-DD asm 1899 1590 

Horizan ll-DD kit 1999 1679 

Horizan ll-DD asm 2349 1973 

16K Ram kit 399 335 

16K Ram asm 459 385 

VECTOR GRAPHICS 20% DISCOUNT 
Vector M 1 31 5k disk 
Vector MZ 2 31 5k disks 

Intertube CRT 
LA-36 DecWriter 
Escon Selectric Interface 
Integral Data IP125 
Integral Data IP225 
Compu Cruise 
Radio Shack 5 % Discount 

Professional A/r, A/p, Ledger, Payroll, Medical Billing soft- 
ware with customization available. Send for our catalog — 
Some prices are too low to quote. 

SARA TECH 
COMPUTERS 
P.O. Box 692 
400 Base 
Venice, FL 
33595 
(813)485-3559 



874 


725 


795 


1444 


496 


422 


799 


699 


949 


834 


199 


164 





line uses up more memory, but there are 
good reasons for doing this that become 
apparent when you run the program. 

Using the Program 

After all the checks are listed in the data 
statements, as shown in the program, you 
are ready to run the program. Take the can- 
celled checks you get from the bank and 
input the check number, date and amount 
the same way you entered the information 
in the data statements. Then hit carriage 
return. The program will search the data list 
for the check and deduct it from the 
balance, printing for example: 

"CANCEL CHECK*: 100 

DATE: 12876 

AMOUNT: $18.75" 

If the check is not located in the data, the 
computer types a question mark meaning 
that either the check isn't there or you have 
not entered the data correctly. 

After all the checks have been entered, 
type 0,0,0 for the last check and hit carriage 
return. The computer will give you a com- 
plete list of all the cancelled checks just 
entered plus the total of all the outstanding 
checks. You will be asked to enter the bank 
statement balance and any deposits not 
shown and the service charge, if any. Using 
this information, the program calculates 
the balance in your checkbook. In this way 
you can reconcile your arithmetic with that 
of the bank. 

Normally at this point it is necessary to 
change the data statement list by eliminating 
all the cancelled checks received from the 
bank. This would mean searching and typing 
some of the line numbers. When I developed 
the program I decided to let the program 
do this work, so you will be asked if you 
want an updated "data" list of the outstand- 
ing checks. 

If you have a mass storage device, you 
can store the data statements. The program 
lists all the outstanding checks in the re- 
quired data format, including new line 
numbers. The program can then be updated 
by entering the information back into the 
program. All data statement numbers not 
stored will have to be deleted by hand. This 
is now an easier job because these numbers 
are at the end of the program and no search- 
ing by the operator is required. Also, don't 
forget to deduct the service charges from 
your checkbook balance. 

Before developing this software I used 
to dread receiving "that envelope" from 
the bank, but now I actually look forward 
to it in spite of the fact that it requires a 
bit of effort to enter the required informa- 
tion into the computer." 



210 June 1979 © BYTE Publications Inc 



Circle 317 on inquiry card. 




BITSOfl€STOPS€RVIC€ 



Attention Computer Dealers and Booksellers! 



BITS Inc.'s ENTIRE BOOK INVENTORY AT WHOLESALE PRICES! 

• More than 200 books to choose from 

• More than 50 publishers represented 

• Small press and self-published authors 

• All books professionally reviewed 

• Exclusive distributor for the BITS PROGRAMMER PAD 

• Immediate shipment 

• 800 WATS line number for fast service 

• We service world wide 



Exclusive from the BOSS 

Because the BOSS is concerned with the needs 
of your customer, the microcomputer user, we 
have developed the BITS PROGRAMMER PAD™ 
— an ingenious form custom tailored to the 
8080A, 6800, Z-80, 1802, or 6502. Architecture is 
laid out with contiguous memory spaces to allow 
for critical memory allocations, data movement, 
tables, and stack manipulation. 

The other side is for the program — with pre- 
numbered lines and columns for addresses, ob- 
ject codes, labels, instructions, and comments. 
BITS PROGRAMMER PADS ™ are time-sav- 
ing helpers for hand assembling programs. 

Each 50 page pad is ot durable stock that will 
hold up to erasures, and is punched for a 3 ring 
binder. Makes programs easy to write, use, and 
understand. Retail is $2.50 each pad. 




8080A 



See Vour Dealer 
for the 

BITS PROGRBMMCR PAD 



• 
• 
• 














BltSE^"™' 




(•" 


- -- =.-- 1 — ■— 


_K»_ 


— 




-', 






















>-;— 




; 




■- ■ ■ — 


-;-: 








". - 
















— 




- 


























-- 


:i 











| 










_ 










-s- 


- - 


~" 


■ 


-: 




. 


JL 






— 








±: 


. 




= 




-. 


-3- 






- 




- 


" 













Reverse side 








mc 



BITS 



Books to erase the impossible 

PO Box 428 

25 Route 101 West 

Peterborough, NH 03458 

TOLL FREE NUMBER: 

800-258-5477 

(in NH call 924-3355) 



liYTt June 1979 



211 



Circle 160 on inquiry card. 



THE 
CRITICS' 
CHOICE 




TheFiretM 

., or 
Microcomputers 

KitoflWMy 



SfggBi 



COKtmtRS 



1BSF 



A CONSUMER'S GUIDE TO 
PERSONAL COMPUTING 
AND MICROCOMPUTERS 

by Stephen Freiberger and Paul Chew 
Chosen by Library journal as one of the 
100 outstanding sci-tech books of 
1978 for general library collections! It 
offers both an introduction to personal 
computers and a product review of the 
available equipment. &5680-X, $7.95 

THE FIRST BOOK OF 
MICROCOMPUTERS: The 

Home Owner's Best Friend by Robert 
Moody ". . . excels in the quality of its 
cartoons, illustrations, diagrams, and 
layout. These supplement . . . the 
author's gift for lucid description and 
hands-on experience with personal 
computers." Library Journal 
#5121-2, $4.95 

STANDARD DICTIONARY 
OF COMPUTERS AND 
INFORMATION PROCESSING, 

Second Edition by Martin H. Weik 
"This volume, with its concise entries and 
extremely helpful cross-references, 
offers a compact overview of concepts 
in the computer field. "Booklist 
#5099-2, $17.95 

See these and other 
Hayden titles at your 
local computer store. 



DO 



HAYDEN BOOK 
COMPANY, INC. 



50 Essex Street 
Rochelle Park, NJ 07662 



A Peek at Poke 



M Parris 

Dept of Chemistry 

U of Victoria 

POB 1700 

Victoria BC 

CANADA V8W 2Y2 



Users of TRS-80 Level II BASIC will find 
the POKE function handy for the occasional 
manual patching of object programs. How- 
ever, it's frustratingly slow and annoying to 
be forced into decimal notation. Listing 1 is 
a Level II BASIC program residing in upper 
limit statement numbers for a 16 K byte 



65509 
65510 
65511 
65512 
65513 
65514 
65515 
65516 
65517 
65518 
65519 
65520 
65521 
65522 
65523 
65524 
65525 
65526 
65527 
65528 



65529 



CLS:PRINTCHR$(14):L%=32767 

GOSUB65512 

POKEL%,D%:L%=L%+1:GOTO65510 

GOSUB65528 

IFA$=":"THENI%=1ELSEI%=0:IFI%=0GOTO65522 

GOSUB65528 

GOSUB65529 

D%=A%*4096 

GOSUB65528 

GOSUB65529 

D%=D%+A%*256 

GOSUB65528 

GOT065523 

D%=0 

GOSUB65529 

D%=D%+A%*16 

GOSUB65528 

GOSUB65529 

D%=D%+A%:IFI%=0THENRETURNELSEL%=D%:GOTO65512 

A$=INKEY$:IFA$=""THEN65528ELSEPRINTA$;:IFA$= 

" "THEN65528ELSEA%=ASC(A$):IFA%=10THEN65528E 

LSEIFA%=13THEN65528ELSERETURN 

A%=A%-48:lFA%<0THENSTOPELSEIFA%<10THENRETURN 

E LSE A%=A%-7: 1 FA%<1 6TH ENR ETURN E LSESTOP 



Listing 1 : Level II BASIC program for the TRS-80 which allows hexadecimal 
data to be loaded into memory. 



10 X=32+RND(159):REM GET A RANDOM NO. BETWEEN 32 AND 191 

20 FORJ=0TO1023:POKE15360+J,X:NEXTJ:REM Fl LL THE SCREEN 

30 FORI=1TO1000:NEXTI:GOTO10:REM WAIT AWHILE AND DO IT AGAIN 

Listing 2: Example of a program to fill the screen of the TRS-80 with graphic 
characters. 



ORG 16526D 


LOCATION OF USER FUNCTION ADDRESS 




DW START 


USER FUNCTION ADDRESS 


ORG 3200Cm i 


THIS LOOKS LIKE A NICE PLACE 




DS1 


DATA TO BE TRANSFERRED TO USER FUNCTION 


START: 


LXI H.32000D 


GET THE DATA TO BE TRANSFERRED - 




MOV C,M 


INTO C 




LXI H.3C00H 


VIDEO DISPLAY STARTS HERE (HEX) 




LXI D.0400H 


SIZE OF DISPLAY (HEX) 


NXT: 


MOV M,C 


LOAD THE DATA FOR DISPLAY 




DCR E 


COUNT THE - 




JNZ EOK 


REMAINING - 




DCR D 


LOCATIONS IN - 




RZ 


VIDEO DISPLAY - 


EOK: 


INX H 


AND FILLTHEM ALL - 




JMP NXT 


WITH THE DATA 



END 



Listing 3: An assembly language program which can be called by the modified 
version of listing 2 to fill the screen quickly. Use the hexadecimal loader to 
put the object code of this program into memory. 



212 



lunc 1979 © BYTE Publications Inc 



TRS-80 system, which enables fast keyboard 
entry of hexadecimal code. 

The starting address is entered as :HHLL 
followed by the successive data bytes, which 
may be spaced as appropriate for clarity in 
on-screen checking. An invalid character 
causes a return to the COMMAND mode. 
The following trivial example illustrates its 
use. 

Example 

The BASIC interpreter is too slow for 
dynamic graphics, as the program in listing 2 
illustrates. Run it and see how slowly the 
screen loads. Now replace statement 20 by: 

20 POKE32000, X:X=USR(0): 
REM FILL THE SCREEN FASTER, 

which calls the machine language subroutine 
in listing 3 to do the same job much faster. 
Insert the assembled object code using the 
hexadecimal loader, noting that memory size 
must now be less than 32000: 

: 408E 01 7D 

: 7D01 21007D4E21003C110004711DC2127D15 
C823C30B7D 

Now run the program again." 



Clubs and Newsletters 



Attention: Buffalo NY Apple II Owners 

Gary Weir has written from Buffalo 
NY with information about a new 
Apple II users group in his area. Called 
the Apple Byters Corp, they are highly 
motivated to provide new owners of the 
Apple II with the help they may need to 
successfully program and utilize their 
investment. A booklet is currently being 
prepared combining insights and solu- 
tions to bugs previously encountered by 
the club's members. A copy and its up- 
dates are included in the $5 member- 
ship fee. Apple II owners or potential 
owners should contact Gary at 225 Wal- 
ton Dr, Snyder NY 14226 concerning 
meeting times and locations. 

Apple Bay Area Computer Users Society 

ABACUS (Apple Bay Area Computer 
Users Society) meets the second Monday 
of each month at the Hayward BYTE 
Shop, 1122 B St, Hayward CA. They 
have an active membership of 40 and 
have developed a club library of 200 
programs. They are negotiating to trade 
libraries with several other clubs. Mem- 
bership is $12 a year which includes a 



monthly newsletter. Contact Ed Avelar, 
president, at (415) 583-2431 or David 
Wilkerson, secretary, at (415) 482-4175. 

Mexican Computer Club 

We have been notified of the exis- 
tence of a Mexican computer club. 
Called the Microcomputer Club, this 
group is primarily concerned with the 
Apple II and OSI products. They are 
interested in exchanging information 
and experiences with other computer 
groups. Contact Alfredo Buzali, fte de 
Quijote #5, Mexico 10, D F or call 
5-89-22-79 between 7 and 8 PM. 

Central Alabama TRS-80 Computer 
Society 

Several TRS-80 users in Montgomery 
AL have formed the Central Alabama 
TRS-80 Computer Society. They are 
planning a club library, a local newsletter 
and a club computer. Another aim is to 
provide each new member with a mem- 
bership package which would contain 
magazine subscription, blanks, addresses 
of hardware and software suppliers, and 
other information pertaining to the TRS- 



OVERBYTES AND UNDERPRICES THE COMPETITION 



Introducing 
the 




$5885. 
Complete with the 
fantastic UCSD Pascal 
Operating System 



lbs pelasyslem 



PASCAL OPERATING SYSTEM: The smoothest, most convenient 
operating system available, featuring a powerful screen oriented 
text editor, the fast PASCAL compiler, file and library handling 
system, linker, library, BASIC compiler, and more. 

Z-80 MICROCOMPUTER: Northstar based 4 MHz S-100 
microcomputer with 64k RAM, serial and parallel ports, dual 
Micropolis quad density (630 kbytes formatted) disk drives. 

60 cps DOT MATRIX PRINTER: Centronics model 779 with trac- 
tor feed and paper stacker. 

FULL FUNCTION INTELLIGENT TERMINAL: Microterm ACT-V, 
with addressable cursor, protected fields, erase to eol, erase to 
eos, reduced intensity, protected fields, much more. 

RETAIL ibs PRICE 

Microcomputer/Dual Drive/64k/Pascal $4695 $3995 



Printer/tractor feed/paper stacker 
Terminal 



$1250 

$880 
$6825 



$1095 

$795 
$5885 



Buy complete system and receive all cables and box of disks free. 



independent business systems, inc. • 5476 Cleo Ct. • Livermore, CA 94550 • (415)443-3131 



Circle 176 on inquiry card. 



June 1979 © BYTE Publications Inc 213 



80. The meetings are held on the third 
Tuesday of each month at various loca- 
tions around Montgomery. Contact 
Walter F Bray, 2073 Rexford Rd, Mont- 
gomery AL 361 16. 

Newsletter for Sorcerer Owners 

Orders are now being accepted for an 
independent user newsletter dedicated 
solely to the Exidy Sorcerer. The $15 
subscription price includes all ten issues 
of volume one, and the first issue will be 
available around July 1st. The Source 
will include items of general interest to 
Sorcerer owners, such as program listings, 
how-to-do-it articles, and hardware and 
software reviews. Contact ARESCO, 
POB 1142,ColumbiaMD 21044. 

Sorcerer Users Group 

Computer Mart of Massachusetts has 
announced the formation of the Sor- 
cerer Users Group. The purpose of the 
group is to set up a channel of communi- 
cation between Sorcerer owners and to 
provide information on hardware and 
software developments to the Sorcerer 
user. The group has a membership of 
about 30 people. The $5 membership 
fee includes the monthly newsletter, 
The Exidy Monitor. Contact Computer 



Mart of Massachusetts Inc, 1395 Main St, 
Waltham MA 02154. 

North American Computer Association 

The North American Computer Asso- 
ciation (NACA) recently began its third 
year with a membership of approximately 
20 independent businessmen in the com- 
puter systems field. One of the objectives 
of the organization is to increase the 
efficiency of each member's individual 
organization by pooling all the dif- 
ferent programming developments and 
the selling and servicing techniques used 
by the various members. NACA meets 
once a month in Dallas TX, and in- 
terested businessmen are welcome to 
attend. Contact Tom Crites, Suite 811, 
1001 Main St, Lubbock TX 79401. 

Small Computer Users Join England's 
Central Program Exchange 

The Central Program Exchange (CPE) 
at The Polytechnic, Wolverhampton, is 
opening its doors to users of small com- 
puters in an effort to coordinate the 
free interchange of programming. The 
Exchange has 72 members, and cur- 
rently holds a library of over 200 pro- 
grams in BASIC, FORTRAN and AL- 
GOL. Individual members can obtain 



READ THE MAGAZINE 
THE PROS READ. 



For over 20 years DATAMATION has 
been the magazine for the data processing 
professional. Now DATAMATION 
magazine is available to hobbiests, busi- 
ness men, accountants, engineers, pro- 
grammers . . . anyone with a deep curiosi- 
ty about the real world of data process- 
ing. 

Written by the data processing pro- 
fessional for the data processing profes- 
sional, DATAMATION magazine's arti- 
cles cover a wide range of subjects . . . 
industry trends, "how to do it better" 
articles, budget and salary surveys, new 
computer applications, advanced tech- 
nology, new products and services as 
well as a monthly department on person- 
al computing. 

Whether your interest in computers is 
for fun or profit, DATAMATION maga- 
zine has a world of information for you 
every month . . . plus an annual Special 



Edition, the Industry Profile featuring 
the "DATAMATION 50" — the top 
U.S. DP companies. 



*R 



TECHNICAL PUBLISHING COMPANY 
A Dun & Bradstreel Company 
35 Mason St., Greenwich, CT 06830 
(203) 661-5400 



FOR A ONE YEAR SUBSCRIPTION 
(13 ISSUES) SEND $32. 

TO: SUZANNE A. RYAN 

DATAMATION magazine 
666 FIFTH AVENUE 
NEW YORK, NY 10019 

Name 



Address 
City 



State/ Zip. 



DiWraMF^TIOIM. 

magazine 



CPE services for $10 per year. This 
entitles members to a catalogue, news- 
letter and up to ten CPE programs as 
listings or paper tapes. As the personal 
element expands, CPE also proposes 
to offer cassette versions at a small 
extra charge. Contact Dr G Beech, 
Central Program Exchange, Dcpt of 
Computing and Mathematical Sciences, 
The Polytechnic, Wolverhampton, ENG- 
LAND WV1 1LY. 

Software Magazine for Microcomputers 

The Software Exchange magazine 
provides information about the latest 
software that has been developed. In- 
cluded are reviews, abstracts and articles 
about software for today's microcom- 
puters. The Software Exchange is 
published bimonthly. Subscriptions are 
$5 per year in the US, Canada and 
Mexico. International subscriptions are 
$19. Contact The Software Exchange, 
POB 55056, Valencia CA 91 355. 

Free Newsletter Features Computer 
Product Marketing Information 

Crossroads is a free periodic news- 
letter which highlights tools and tech- 
niques in selling software, data services 
and turnkey systems. Crossroads pro- 
vides helpful hints, insights to trends, 
results of experiments and generally, 
the successes and failures associated with 
development, sale and support of com- 
puter based products. Contact Editor, 
Crossroads, Cross Associates, Suite 530, 
9000 Keystone Crossing, Indianapolis 
IN 46240. 

6800 Users Newsletter 

The Chicago Area 6800 Users News- 
letter is a monthly publication aimed at 
providing information and assistance to 
those users of the 6800 microprocessor. 
For further information, contact Phillip 
Schuman, 1354 Finley, Lombard 1L 
60148. ■ 



BYTE's Bugs 



A Computer by Any Other Name 

A typographical error in "Build a 
Computer Controlled Security System 
for Your Home: Part 3" by Steve Ciarcia 
(March 1979 BYTE, page 150) may have 
caused some head scratching among our 
readers. The caption for figure 1 con- 
tained the following sentence: "Op amp 
IC2 is used as a computer to convert the 
output accordingly." The sentence 
should have read as follows: "Op amp 
IC2 is used as a comparator to convert 
the output accordingly." Mr. Ciarcia did 
not attempt to construct his circuit using 
a programmable op amp.i 



214 lune 1979 © BYTE Publications Inc 



Circle 94 on inquiry card. 



Circle 320 on inquiry card. 




Model 7801 

Frequency Input Interface 

for 

Motorola M6800 Microcomputer Systems 

FEATURES 



It of TTL compatible iiip>* 

* 16 W binary counter (BCD optional) 
" frequency Inputs lo 25 megahertz 

' Mteh Mlecuble addren 

' occnpiet onry one aiidmi in metnwy map 

' EXORdstf' but compatible 

" wide choice of Input connecton (edtje connector standard, pod header or DIP socket optional) 

" »5 uoK tuppry onry 

* umple loftttfare drtvent luppted wttti board 

* solder mask both ikta: gold plated edge connectors 
' assembled and tested or kn version* available 

* very low coat - only * 249.00 In atn. 



SIERRA CYBERNETIC SYSTEMS 

PP. Box 20175 Heno, Nevada 69515 (702) 322-4563 



Circle 32 on inquiry card. 

SHOULD it be a Heathkit ? 

Whether you are considering the purchase of an 
additional peripheral or your first computer you 
should know more about Heath's- computer products. 
Heathkit^ has a continuing commitment to selling 
well-documented computer kits and software. Are 
they for you? How can you find out? 

Read Buss: The Independent Newsletter of Heath 
Co. Computers , where information on new products 
is printed as it leate out of Benton Harbor, not 
held back to suit a marketing plan. Buss is not 
a company-controlled publication, so it can deal 
with weaknesses of Heathkit^ products as well as 
their strengths. It features news of compatible 
hardware and software from other vendors. Every 
Buss issue has candid accounts of experiences of 
Heathkit^ owners. Results of their discoveries, 
which often include hardware modifications, save 
subscribers headaches — and money. That's proven 
by two years' experience. So Buss can guarantee 
a full refund any time you're not satisfied. 

Buss is mailed first class (by airmail outside 
North America). The 24- issue subscription gives 
you the choice of starting with the latest issue 
or with available back issues (about 8 are still 
in stock). Send $ 8.00 for 12 issues or $ 15.25 
for 24 (overseas, $10.00/l2j $19.25/24 US funds) 
to: Buss 

325-B Pennsylvania Ave., S.E. 
Washington, DC 20003 

The Independent Newsletter 
of Heath Co. Computers 



PET WORD PROCESSOR 




This program permits composing and printing letters, 
flyers, advertisements, manuscripts, etc., using the 
COMMODORE PET and a printer. 
Script directives include line length, left margin, cen- 
tering, and skip. Edit commands allow the user to 
insert lines, delete lines, move lines and paragraphs, 
change strings, save onto cassette, load from cassette, 
move up, move down, print and type. 
The CmC Word Processor Program addresses an RS- 
232 printer through a CmC printer adapter. 
The CmC Word Processor program is available for 
$29.50. Add $1.00 for postage and handling per order. 

Order direct or contact your local computer store. 



CONNECTICUT microCOMPUTER 

150POCONO ROAD 

BROOKFIELD, CONNECTICUT 06804 

(203) 775-9659 
TLX: 7104560052 




C/PM SOFTWARE TOOLS 



ED-80 TEXT EDITOR 



THE PROGRAMMER'S MOST IMPORTANT SOFTWARE TOOL 
— WHY NOT MAKE IT YOUR BEST? 

ED-80 encompasses the features found on large mainframe and minicomputer editors, 
such as the IBM 370. CDC 170, UNIVAC 1100, and the DEC PDP-11 series computers, 
plus additional features designed for floppy disk based operating systems. It is a 
context editor which is compatible with C/PM and its derivatives, including IMDOS. 
DOS-A, CDOS, etc. 

Over 50 commands are provided, including forward or backward LOCATE, CHANGE, 
and FIND commands: INSERT, DELETE, REPLACE, APPEND, PRINT, LIST, MACRO, 
upper and lower CASE, SCALE. TABSET, and WINDOW commands; and GET and PUT 
commands for repositioning, duplicating, concatenating, and managing text files and 
libraries. Sophisticated search and change techniques are provided for managing 
BASIC, FORTRAN, COBOL, PL/I, ALGOL, APL, PASCAL, ASSEMBLER. TEXT 
FORMATTED, and other file types. 

The WINDOW command allows instantaneous full screen displays of both the current 
and surrounding lines for further editing, and provides for forward and backward 
scrolling in the full screen mode. Designed tor today's high speed CRT's and video 
monitors, the WINDOW command separates ED-80 from all other available editors, 
and is not hardware dependent. 

Up to three MACRO commands may be defined for iterative execution of concatenated 
editor commands. Once defined, they may be subsequently executed, or recalled for 
observation. A MACRO may also be defined and executed in a single operation. 
Configurable parameters for tailoring the editor to the user's keyboard and environment 
are provided through the use of the C/PM Dynamic Debus Tool (DDT). The WINDOW. 
WINDOW NEXT, WINDOW PREVIOUS, NEXT LINE, and PREVIOUS LINE commands 
fall in this category. These commands are considered so important to text editing that 
only one key has to be depressed to cause any one of them to execute. 
A CURRENT LINE NUMBER is internally maintained by the editor for displaying when 
prompting for input and with certain other commands. Line numbers are dynamically 
adjusted as the result of line inserts and deletes, and may be used for positioning within 
the file. They are not stored or associated with the text in any manner. 
ED-80 is thoroughly documented with a User's Manual of over 35 pages describing each 
command and feature, and includes numerous examples. It is 9.5K bytes in size, and s 
minimum C/PM operating system of 20K is recommended. A User's Manual and standard 
size single density diskette are $69.00. A User's Manual is $7.50, refundable with 
purchase. COD and money orders shipped next day. COD orders require 10* deposit. 
Personal checks must clear before shipment. Include $2.00 shipping/handling per order. 

SOFTWARE DEVELOPMENT AND TRAINING, INC. 
P. O. Box 451 1 — Huntsville, Alabama 35802 

C/PM* is a trademark of Digital Research 



Circle 78 on inquiry card. 



BYTE lune 1979 



215 



Languages 
Forum 



Languages Forum is a 
feature which is intended as an 
interactive dialog about the 
design and implementation of 
languages for personal com- 
puting. Statements and 
opinions submitted to this 
forum can be on any subject 
relevant to its purpose of 
fostering discussion and com- 
munication among B YTE 
readers on the subject of lan- 
guages. We ask that all corres- 
pondents supply their full 
names and addresses to be 
printed with their commen- 
taries. 



Comments on " A High Level 
Language for 8 Bit Machines " 



Glen Newton 

Sperry-Univac 

Roseville MN 55113 



"A High Level Language for 8 Bit Ma- 
chines," by Ted Williams and Steve Conley 
(July 1978 BYTE, page 152) discusses the 
interpreter for a simple language. If we 
take the language as given and ignore minor 
errors in the examples and flowcharts 
(such as pushing a variable "near operand 
stack" rather than onto it), several sub- 
stantial errors remain. 

First, evaluation is claimed to start 
"in the innermost parentheses." Following 
the flowchart in figure 2 or table 2 or the 
example in listing 3 shows that this is not 
true, despite the incorrect annotation 
accompanying listing 3. Expressions are 



evaluated from left to right until parentheses 
are encountered. In order for evaluation to 
begin within the innermost parentheses, in 
the language described in the article, each 
binary operator except the last would have 
to be followed by a left parenthesis. Since 
the programmer cannot define his own 
functions, the result of evaluation will be 
the same as if evaluation had begun in the 
innermost parentheses // the language's 
intrinsic functions have no side effects. 
Second, the claim that although in- 
terpretation provides some advantages, "the 
price paid for this feature is memory" is 
misleading. The combination of source code, 




* North Star DOS and BASIC now fully supported on double density 8" drives. 
More than 500K storage per disk now possible. 



TIMESHARING 

for the Horizon — 

The only true interrupt-driven, bank 

switching timesharing software available 

for the Horizon. 

Supports as many as four 5%" drives, 
four 8" drives, and as many as four 
CRTs with 16 to 48 K RAM per CRT. 
Interrupts at 26 ms. Spooler and file 
locking to be supported in the near 
future. 

Specify single (Release 4) or double 
density (Release 5). 

Requires additional memory in computer. 

A machine language program 

on 5'/," disk $49.95 



Complete business application software 
available. Write for additional 
information. Dealer discounts available. 

216 June 1979 © BYTE Publications Inc 



Thinker Toys dual density 8" drive and 

controller $1 149 

Additional drives $795 

8" disk drive connector software on 
5V," disk included with drive(s) and 
controller without additional charge, 
or, separately $49.95 

PerSci dual and quad density dual 8" drives to be 
supported in the near future. 

Specify CPU clock speed and Release 4 BASIC or 
Release 5 BASIC. 

North Star DOS and BASIC licensed for use with 

North Star disk controller only. 
All software shipped on 5'/," North Star ONLY. 

Write for information about COMPUCORP 
computers. 



Micro Mike's 
PROGRAM LIBRARY 

A one-time fee of $500 (soon to be 
increased) buys for the purchaser 
continuous unlimited access to the 
programs, updates and revisions in the 
PROGRAM LIBRARY. 



In stock: Intertec Intertubes . . $874 ea. 

Slightly used (demonstrator ADM-3A 
CRTs, full upper & lower case $695 ea. 



JJMh 



.62 



Micro Mike's, Incorporated 

905 South Buchanan 

Amarillo, Texas 79101 

806-372-3633 



Circle 204 on inquiry card. 



Circle 183 on inquiry card. 



DP SUPPLIES? 



FLOPPY DISKS 

Standard or Mini 2.98 ea. 

Memorex 4.50 ea. 

32 Hard Sector 
(Shugart) 2.98 ea. 

Micom Preformatted . 7.50 ea. 

(Mm. order: 100 ea.) 

Dual Density 4.25 ea. 

Dual Sided 5.50 ea. 

(Order in unils ol 20) 



DIGITAL CASETTES 

TRS-80(15min.) .... 1.49 ea. 

ANSI (Notch) 4.90 ea. 



Key 



Call 



Do'. 



G.E 5.20 ea. 

NCR. 300' 5.00 ea. 

Standard (no notch) . 4.90 ea. 

Nixdorf 4.90 ea. 

Datapoint 4.90 ea. 

Others available, similar savings. 

RIBBONS 

Blue & Brown 
Ribbons 32.95 doz. 

Qume or IBM 6240 
Type 29.95 doz. 

{New hi-yield. excellent quality) 



TERMS: First-time customers send check with order to avoid credit 
check delay. VISA/Master Charge accepted. 




ORDER NOW FROM 
JOHN RICHARDS 

KEY SUPPLY 

2101 S. IH35, Suite 300 

Austin, TX 78741 (512)443-1347 

All products from major manufacturers fully guaranteed. No limit 
while quantities last. 



OMSI . 
PASCAL 




Reliable, efficient, production Pascal compiler 
for the DEC PDP-1 1 family, including the LSI-1 1. 

Full Language 

All elements of Standard Pascal, including the capabilities 
not found in student Pascals. Extensions for complete low- 
level control with direct memory and I/O device access, 
embedded assembler code, FORTRAN procedure interface. 

Production 

Integrated with DEC operating systems (RSTS/E, RT1 1, RSX, IAS). 
Compatible with existing file structures, editors, and utilities. 
Interactive symbolic Debugger with breakpoints and full trace. 

Performance 

Fast one-pass compiler runs in I6K words (32KB|, translates 
thousands of lines per minute. Produces compact PDP-1 1 code 
that runs circles around interpretive or threaded languages. 

Proof 

In production use since 1975 — now at more than 
300 customer sites. Warranted for I year after purchase. 

Whte for information, demonstration, manuals, and benchmark. 



2340 SW Canyon Road 
Portland, Oregon 97201 
(503) 226-7760 
TWX 910-464-4779 



minicomputer 

dot 



inc. 



DEC, PDP, RSTS, RT-1 1, RSX. IAS, and LSI-11 are trademarks of Digital Eq. Corp 



HARD DISC 
FOR S100 MICROS 



The XCOMP DCF-10 Disc Controller pro- 
vides the OEM with a high performance, 
low cost interface for fixed and removable 
(2315 or 5440) cartridge disc drives. The 
DCF-10 is currently supported by two 
operating systems. For information or 
manuals, contact XCOMP. 




XCOMP 

INCORPORATED 

9915-A Businesspark Ave., San Diego, CA 92131 • (714) 271-8730 
Circle 392 on inquiry card. 



BYTE 

BACK JS6U1S6 

FOQ MLE 

The following issues are available: 

July, November, 1976; March, May thru September, 

November and December, 1977; February thru October, 

1978; and January, February and May, 1979. 

Cover price for each issue thru August '77 is $1.50 plus 

25Q postage and handling ($3.50 total foreign). 

September '77 thru '79 issues are $2.00 plus 50C 

postage and handling 
($4.00 total foreign). 
Send requests 
with 

payment 
to: 

BYTE 

Publications 

70 Main St. 

Peterborough 

NH 

03458 

Attn: 

Back Issues 




HYTt lune 1979 



217 



ThE 



BioNic Ear 



A landmark book by John L Stewart, with technical 
information never before available. Based on years of 
research with partial support through the original Air 
Force Bionics program of the 1960's. 

Now you can understand and build devices that behave 
like the human ear-or a thing called "Hal". 

Speech recognition for the robot 
Aids for the deaf and deaf-blind 
Reliable voice control 
Speech bandwidth compression 
Speech security 
Binaural localization 
Bat-like echoranging 
Sonar target recognition 
Control of animals with sounds 
Language training 
Speech enhancements 
and much, much more... 

Hardware representations give new understanding of 
man-not only how, but also why the ear works as it does. 

A far-reaching new theory-complete-sophisticated- 
powerful-destined to influence not only computers, but 
also concepts in physiology for decades to come. 



This new and invaluable information for only $35.00 plus post- 
age and handling. ($1.50 regular or $4.00 priority or UPS Blue 
in USA and Canada. Other countries add $12.00 for air or $3.50 
surface, all U.S. funds.) California residents also add 6% sales 
tax. Send check, money order, or VISA or Master Charge num- 
ber (and expiration date). Phone orders accepted. Credit only 
on approval. 



COVOX PublishlNq P.O. Box 2342 
Orcutt, CA93454 • Tel.: (805) 937-9545 



data, tables, and the interpreter program is 
often smaller than the compiled code and 
data, particularly if the source language is 
a powerful one, like APL, or contains space 
consuming operations not supported by 
hardware, such as AtB, where A and B are 
floating point numbers. 

Third, the language presented in the 
article allows nested DO loops, but the use 
of UNTIL in this context can lead to prob- 
lems since an UNTIL within two or more 
loops is not syntactically connected with a 
specific loop. For example, the second 
UNTIL statement in example 1 could 
express the programmer's intention to leave 
either the inner or the outer loop when the 
condition is satisfied. Defining the UNTIL 
statement semantics to require exit of the 
innermost enclosing loop when the condi- 
tion is satisfied solves this problem but it 
does not correct the flaw in the DO routine 
in figure 5 of the article. When an UNTIL 
condition is satisfied, the interpreter seems 
to search for the first available ENDDO, 
rather than the matching one. In generai 
this will not work properly, as illustrated 
by considering the first UNTIL statement 
in example 1 . 



DO 



UNTIL conditionl 



DO 



UNTIL condition2 
_ENDDO 
_ENDDO 

Example 7 .' Nested DO loops. 

Fourth, the authors claim that "the lack 
of statement labels excludes the possibility 
of errors caused by not nesting DO loops 
within each other (which is possible in a 
language like FORTRAN)." In fact, the 
possibility exists; just take any appropriate 
FORTRAN nonnested, overlapping DO 
loop example and remove the statement 
numbers to see how the error is possible. 
The difference is that with statement num- 
bers or labels the compiler or interpreter 
would have sufficient information to detect 
the error; without them the error must go 
undetected because the resulting program is 
syntactically correct. 



218 



June 1979 © BYTE Publications Inc 



Circle 82 on inquiry card. 



Fifth, like the factorial function which is 
presented to illustrate recursion in program- 
ming primers, the use of recursion to find 
matching ENDIFs during interpretation is 
unnecessary overkill. The nonrecursive use 
of an "unmatched IF" counter is adequate 
and conceptually simple. Furthermore, it 
avoids the problem that "care must be 
taken in allocating and preserving local data 
within SEARCH during recursion." 

Finally, although APL, like the language 
presented in the article, does not use oper- 
ator precedence within expressions, APL 
expressions are evaluated from right to left, 
not left to right. Furthermore, APL has 
numerous nonstandard operators, providing 
some justification for its no precedence 
evaluation; in contrast, the language pre- 



sented has only standard arithmetic opera- 
tions plus functions. Thus the claim that the 
use of precedence in this language would 
lead to confusion is probably unfounded. 
Probably the best justification for the 
decision to have no precedence is that it 
simplifies implementation somewhat. How- 
ever, the authors' claim that "this procedure 
minimizes the size of the stack" is incorrect, 
as shown by example 2. The FORTRAN 
expression A - B * C requires parentheses 
to be expressed in a precedenceless language. 
The parentheses, in turn, require an extra 
level on the operator stack (in general, one 
for each level of nesting). Example 2 shows 
that a precedenceless language can, for some 
expressions, require more, not less, stack 
space than a language using precedence." 



Language 


Expression 

A - B * C 
A -(B * C) 


Of 
Stack I 


>erat 
Max 

* 
* 

( 


or 
mum) 


Oper, 
(Ma 


ind Stack 
ximum) 

C 


FORTRAN 


B 






A 




precedence- 


C 




less 


B 




language 


A 





Example 2: Stack size comparison. 




Olcnlating with 

BASIC 




Special Offer 



Now you can have a good laugh on us! That's right. If you buy 
Calculating with BASIC now, you'll get our hilarious book, Take 
My Computer ... Please! at 1/2 price — that's $3 off, on us! And 
you'll be sure to laugh. With SCELBI's BASIC routines working 
in your computer, you'll have plenty of time to enjoy the knee- 
slapping humor of Take My Computer ... Please! Order now. 
That's Calculating with BASIC for only $7.95; Take My Compu- 
ter ... Please! just $2.95 additional (sold separately for $5.95). 

Calculating with BASIC 

Here's a variety of programs in BASIC language to help the 
student, scientist, engineer, technician or hobbyist apply the language to practical 
problems. Covers mathematics, finance and statistics, mechanical engineering and elec- 
tronics. For fun between such serious applications. Hangman and Space Capture games. 
Special offer, both books $10.90* No. 32 Cal/BASIC only $7.95* No. 30 



PIMS 

Pergonal InforntattoB 
Management System 



Personal 
Information 
Management 
System 

Plain talk on 
what a computer 
can do for you. 
How to use a 

i..,. ««.„.,... .i..,i computer with- 

liSYiSSBsSsSS' out knowledge of 
~=*™.™"™"" programming. 15 

examples include 
personal mailing list, accounts pay- 
able — even an intelligent ham radio 
log. For the TRS-80, PET and others. 
$9.95* No. 10 




^SCELBI Publications, P. 0. 


Box 3133, Milford, CT 06460 203-874-1573 


'IMPORTANT ORDERING INFO! Include 75 cents postage/h 
Prices shown are for North American customers. Master Charge 
Bank Money Orders preferred. Personal checks delay shipping u 


andling for each item. 
VISA, Postal and 
p to 4 weeks. 


□ No. 10 DNo. 30 DNo. 


32 


Name (please print) 






Card No. 


Bank No. 


Exp. 


Address 






City/State 


Zip 




Signature 


Amt. Enc. 













Circle 318 on inquiry card. 



June 1979 © BYTE Publications Inc 



219 



Languages 
Fopum 



SNOBOL Conquers All? 



Bruce Burns 

3852 Amundson Av 

Bronx NY 10466 



In my experience (at the Bronx High 
School of Science and at home with my own 
6502 system) the most enjoyable part of 
computing is the coding of algorithms. I 
know several languages, and I find some 
beauty in almost every language. The lan- 
guages I know are BASIC, FORTRAN, 
LISP, APL, PL/I, and SNOBOL4. BASIC 
has simplicity, FORTRAN has the virtue 
of speed (FORTRAN compilers have deve- 
loped quite a bit over the years), LISP 
has a straightforwardness unparalleled in 
most other languages; PL/I has the virtue 
of strong structure, and while I know almost 
no Pascal, it is obvious that it, too, shares 
this virtue. APL has sheer array processing 



IMMEDIATE 
DELIVERY 

Domestic & Export 

DEC LSI -11 

COMPONENTS 

A full and complete 
line with software 
support available. 



mini Computer 
Suppliers, Inc. 

25 CHATHAM ROAD 

SUMMIT, NEW JERSEY 07901 

SINCE 1973 



(201) 277-6150 Telex 13-6476 




power and great elegance with its implicit 
looping and other simplifying features. And, 
finally, I get to SNOBOL4, by far my 
favorite. 

I feel that SNOBOL4 is one of the most 
powerful languages in existence. Like APL, 
it is loaded with elegance and implicit 
looping, and, also like APL, it lacks the 
standard structures for repetition of BASIC, 
FORTRAN, PL/I, and Pascal such as the 
FOR-TO or DO loops. These structures are 
not needed as much in SNOBOL4 programs. 
In addition, the language is powerful enough 
to permit user defined functions which are 
implementations of these structures. An 
example of the powerful implicit looping 
coupled with some explicit looping is the 
following statement, which will (in the full 
scan mode) permute the characters in the 
string S so that they are in increasing lexical 
order. This is useful in certain applications 
which involve set operations: 

LEX_ORD S LEN(1) $ A LEN(1) $ B 
*LGT (A,B) = B A :S(LEX_ORD) 

SNOBOL4's major feature is its dex- 
terity with string manipulation, particularly 
the operation of pattern matching (ie: 
the language is good at scanning strings; 
looking for patterns; and processing them 
when found). But in addition to these capa- 
bilities, SNOBOL4 yields considerable 
power with respect to data manipulation. I 
know of no other language (not even APL, 
which specializes in array manipulation) that 
allows an array to have an integer in one 
element, a real number in the next, a string 
in the next, another array in another, itself 
in still another, etc. One may put any data- 
type into anything, and one may also create 
user defined datatypes if desired. The 
reaction of some people to all this is in- 
difference, but they are missing the point; 
the best part is knowing you can do it. 
Besides, one of the most important appli- 
cations of a language of SNOBOL4's string 
processing capabilities is implementation 
of experimental languages, and with these 
other abilities, one may create all sorts of 
arbitrarily complex languages. 

While all these abilities may seem con- 
fusing at this time, when they are fully 
understood they are simple to use and the 
good programmer will soon master them. 
Opponents to the language say they feel 
that the language's power invites unstruc- 



220 



: 1979 © [SYTE Publications Inc 



Circle 236 on inquiry card. 



Circle 205 on inquiry card. 



tured programming because facilities such as 
run time symbol tables and run time 
SNOBOL4 code compilation are easy powers 
to get carried away with. But if programmers 
take the time and care to know the lan- 
guage they are programming in, they will be 
in full control. It is possible to create well- 
structured functions which even redefine 
themselves during execution. This can 
simplify a program considerably, but it must 
be done carefully or the program will be an 
undebuggable mess. 

I recently wrote a function in SNOBOL4 
that takes the inner product of arrays of 
arbitrary dimensions-that is, of any size 
and any number of dimensions. In APL, 
this function is a primitive (built-in) func- 
tion, but I challenge anyone to produce 
the same in BASIC, FORTRAN, or PL/I. 
Like APL's generalized inner product, my 
function allows any two operations to be 
utilized in the formation of the product 
array. The definition in SNOBOL4 is easily 
followed. Upon call, the function goes 
through some initialization, then redefines 
itself and calls itself recursively for each 
dimension of the involved arrays. In this 
manner, it is evident that the function will 
work as well for multidimensional arrays 
as for vectors, and verifying it for vectors 
is very easily done. This function is a good 
example of the freedom with which 
SNOBOL4 processes all sorts of datatypes. 

I cannot deny that SNOBOL4's powers 
may be easily abused, so I must warn that it 
is a language only for programmers who can 
discipline their own thinking and don't need 
a computer language to force them to do so. 
For those people, SNOBOL4 will perform 
amazingly well. 

SNOBOL4 has remained a language found 
only in large batch computers for too long. 
It is time to introduce it to the personal 
computer enthusiast, who can use its great 
powers to his or her own ends. (It has been 
found that SNOBOL4 is extremely good 
for game programming.) And so, any fellow 
BYTE reader who knows and loves 
SNOBOL4, please join me in my crusade for 
SNOBOL4 on microcomputers. I am aware 
of the fact that there are real reasons why 
SNOBOL4 has thus far run only on large 
computers, but these troubles must be 
overcome. I also hope I have sparked interest 
in any potential SNOBOL4 users reading 
this. If what I have described intrigues you, 
look into the language. You won't be sorry." 




its 
ytes 
ooks. 
argains 




IMSAI • Cromemco • SWTPC • 

Lear-Siegler • Problem Solvers • 

RCA • North Star • Verbatim • 

ALPHA Micro Systems and others 

Fast, off the shelf delivery. 

Give us a call TOLL FREE 

800/523-5355 

MARKETLINE SYSTEMS, Inc. 

2337 Philmont Ave., Huntingdon Valley, Pa. 19006 
215/947-6670 • 800/523-5355 

Dealer Inquiries Invited 



the ULTIMATE in 
CHEAP VIDEO 

BOOK & KIT 
ONLY $42.95 




Don Lancaster's "Cheap Video" concept allows almost 
unlimited options, including: 

* Scrolling- Full performance cursor. 

* Line/Character formats of 16/32, 24/80, 32/64.... 
or almost anything. 

* Graphics -up to 256 X 256 B&W; 96 X 128 COLOR 

(requires low-cost option modules 1 

* Works with 6502 , 6800 and other micros. 

SPECIAL OFFER: Buy the Kit Cupper case alpha- 
numeric option included) & get the Book at 1/2 price. 

, ELECTRONICS, DEPT.6-B, 1020W. WILSH1RE BUD.. OKLAHOMA CITY. OK 73116 



I'm Sold, PLEASE RUSH C ) SEND FREE CATALOG 

C 5 TVT-6 5/8 Kit & Cheap Video Cookbook $42.95 (enclosed) 
C ) TVT-6 5/g Kit only Cbook required for assembly) -$39.95 



address:, 
city: 



. state: 



zip: 



ELECTRONICS DEPT. 6B, 1020 W. WILSHIRt BLVD.. OKLAHOMA CITY. OK 73116 



Circle 297 on inquiry card. 



June 1979 © BYTE Publications Inc 221 



Random Comments 



David Thornley 

2600 Bryant Av S, #205 

Minneapolis WIN 55408 

In the September 1978 BYTE ("Letters," 
page 17), Scott Johnson inquired about 
the production of random numbers, par- 
ticularly hardware-generated ones. The first 
and foremost consideration in generating 
and using random numbers is to access 
Donald E Knuth's The Art of Computer 
Programming: Volume 2, Seminumerical 
Algorithms. Most of what I am going to 
say is derived from there. 

First, beware of assuming that a process, 
whether hardware or software, produces 
random numbers simply because the process 
by which it produces numbers is incom- 
pletely understood. If you wish to use such 
a source, test the results for randomness 
using every test you can think of. There 
are many good ones in Knuth's book. 
The Z-80 refresh register, by the way, 
can be a good source for one random num- 
ber, but is not recommended for more 



At Last! 

HIGH RESOLUTION 
S-1 00 GRAPHICS 




$925 

Complete interface 
Assembled and tested 
Onboard memory 
Standard video output 
Monitor extra 



FOB Cambridge 



Unretouched photograph 



• LIGHT PEN 

• HIGH RESOLUTION 

• 51 2 X 640 MATRIX 

• S-1 00 PLUG-IN 
HIGH SPEED 
SOFTWARE 



Send for brochure and data 

CAMBRIDGE DEVELOPMENT LAB 

44 Brattle Street. Cambridge. MA 021 38 

I Call (61 7) 547-3894 



than one. As far as I can tell, the refresh 
counter is incremented every time an in- 
struction fetch occurs, which makes it 
rather deterministic, although if a vari- 
able delay is imposed (such as waiting 
for an entry from the keyboard) it could 
be used. 

For outside randomness, just look around 
you. Plug your computer into your stereo 
receiver, set the selector to AM, find a 
frequency away from any broadcasts, 
and fiddle with the volume until you get 
random bits from the static. (To even 
out the distribution of low and high bits, 
take the transitions from low to high and 
high to low as your bit input — in other 
words, take 2 bit signals, throw out 00 
or 11, and treat 01 as and 10 as 1.) This 
may or may not work, but if it does work 
it is a quick way to randomness. Give 
some thought to encouraging noise in 
the system. Read random numbers off 
the cassette of your favorite rock group . . . 
be creative. 

For those, like myself, who know some- 
thing about programming but are lost 
with hardware, this formula is taken from 
Knuth's book cited above: 



"X n + 1 = (a x X n +c) mod M" 



where M is the word size you are using 
(probably hexadecimal 10000), a is between 
hexadecimal 300 and 7C00, and has 5 or 
D as its last digit, and c is odd and some- 
where in the neighborhood of hexadecimal 
3800. The calculation must be performed 
exactly, which is much easier in assembler 
than in BASIC; in the former, one merely 
disregards the inevitable overflow. Starting 
with X at any initial value, this will give a 
long series of good pseudorandom numbers. 
Finally, for people with RND functions, 
here are several tips: Generating random 
numbers until the user hits the BREAK key 
(or otherwise inputs something) is a great 
way to get a random seed as long as the sys- 
tem does not somehow reinitialize the seed 
before the program uses the random num- 
bers. Or, to make an intrinsically question- 
able generator work, throw out a random 
number of numbers as follows: 

LETJ = INT(10*RND(0)+1) 
FOR 1=1 TO J 
LETX=RND(0) 
NEXT I 

This would fit well in a program as a sub- 
routine, to be called whenever a random 
number was desired. 

I hope this information will be of use to 
some people." 



222 



lune 1979 © BYTE Publications Inc 



Circle 40 on inquiry card. 



Eveat Gueue 



June 2, University of Wisconsin — Park- 
side Computer Fair III, Kenosha Wl. 
Contact Don Piele, UW-P Computer Fair 
III, University of Wisconsin-Parkside, 
Kenosha Wl 53141. 

June 3-6, 1979 International Summer 
Consumer Electronics Show, McCormick 
Place, Chicago IL. This show serves as 
the marketplace for the entire consumer 
electronics industry. Contact Consumer 
Electronics Show, 2 Illinois Center, 
Suite 1607, 233 N Michigan Av, Chicago 
IL 60601. 

June 4-5, Computer Cryptography, 
Massachusetts Institute of Technology, 
Cambridge MA. Instruction in the Data 
Encryption Standard and the new public 
key cryptographic systems will intro- 
duce a working knowledge of the use of 
cryptography in computer applications. 
Managers and operators of computer 
systems will also become acquainted 
with economic and implementation 
issues as well as techniques for using this 
new science in communication networks. 
Contact MIT, Center for Advanced Engi- 
neering Study, Cambridge MA 02139. 

June 4-6, Laser Beam Information 
Systems, New York NY. This semi- 
nar will cover the application of laser 
technology to image and data manip- 
ulation in the form of scanning, trans- 
mission and reproduction. It will lead 
the student through the principles and 
practices of laser beam information 
systems in preparation for direct appli- 
cation to such fields as facsimile, com- 
puter memory and display, target identi- 
fication, reconnaissance, photo com- 
position, and image manipulation. Con- 
tact The University of Chicago, Center 
For Continuing Education, 1307 E 60th 
St, Chicago IL 60637. 

June 4-7, 1979 National Computer 
Conference, New York Coliseum, New 
York NY. NCC '79 will feature a premier 
showcase of the state of the art in 
computing and data processing. Leading 
organizations, large and small, will show 
the latest equipment and services in 
approximately 1500 booths. More than 
100 program sessions are planned, em- 
phasizing the four major areas of man- 
agement, applications, science and tech- 
nology, and social implications. In 
conjunction with NCC '79, a Personal 
Computing Festival of commercial ex- 
hibits, application demonstrations, and 
technical sessions on microcomputer 
systems and applications will be held 
at the Americana Hotel. Contact NCC 
'79, c/o American Federation of Infor- 
mation Processing Societies Inc, 210 
Summit Av, Montvale NJ 07645. 




Paper bags may be fine for lunches. But, they 
offer poor protection for your programs and data. 



Carry media in specially-engineered En Route cases. 
They guard data against contaminants and impact. 



If your data merits more care 
than your lunch does, consider 
an En Route™ case from Inmac. 



Around town or around the world, 
you can't cart media in a paper bag. 
But what else is there? Have you 
ever tried to jam a multi-platter 
pack or 10 tapes into a suitcase? 

Four reasons why En Route cases 
help defend your data in transit. 

1. Rugged high-impact housing is 
ribbed on top for rigidity, strength 
and fast identification. And the in- 
side foam resists sudden impact. 

2. Security of a lock and alumi- 
num tongue-in-groove valance that 
keeps out moisture and debris. 

3. Compact enough to take on a 
plane and easily store under your seat. 

4. Guarantee. Use the case for 45 
days. If you're not satisfied, return it 




to Inmac (formerly Minicomputer 
Accessories Corporation). 

Metal handle, riveted on. 
Foam lining and removable 
dividers resist impact. 

Lock for more security. 
Top ribbing adds strength 

2721 'X: For disk cartridges, packs. Holds up to 5 

front-loading cartridges, 3 top-loaders, or one single, 

multi-platter disk pack. 

2722-X: For disk 2721-X 7777 v 

cartridges, packs. 

Holds up to 2 car- ^g \ 2711-X 

tridges or one yplatter 

pack. 

2711-X: For mag 

tape. Holds 10 of 

any length. 




Order today, call... 

operator 250 toll-free at 

800-543-3000 

(in Ohio 800-582-1364) 

□ 2721-X @ $67.00* 

□ 2722-X @ $52.00* 
D 2711-X @ $52.00* 

For free catalog, circle reader service 
number below. 

*Freighl charges extra unless check accompanies order. 
In CA, VA and NJ, add sales tax. 



...or use this handy coupon. 

Name 

Company 

Address 



City_ 
State _ 



. Zip_ 



□ Check enclosed (we pay freight). 

□ Bill my company, P.O. no 



Inmac 



Dept. W 



130 S. Wolfe Rd. Sunnyvale, CA 94086 



□ Charge my □ VISA □ M/C acct. 

number 

expiration date 



Circle 178 on inquiry card. 



June 1979 © BYTE Publications Inc 



223 



June 6-8, Twelfth Annual Association 
of Small College Computer Users in 
Education Conference, Denison Univer- 
sity, Granville OH. Sessions will include 
the presentation of papers, demon- 
strations of the educational use of 
microcomputers, computer text book 
surveys, discussions with authors of 
computer texts, administrative uses of 
computers in small colleges, and a 
tutorial on microprocessors. Contact 
Douglas Hughes, Computer Center, 
Denison University, Granville OH 43055, 
(614) 587-0810. 

June 6-8, Eighth Annual Conference of 
the MUMPS Users Group, Marriott 
Hotel, Atlanta GA. Papers will be 
presented on all aspects of MUMPS 
development, implementation, and use. 
Contact Judith Faulkner, Program Com- 
mittee, Department of Psychiatry, Clin- 
ical Sciences Ctr, 600 Highland Av, 
Madison Wl 53792. 

June 6-8, Computer Contract Negotia- 
tion, New York NY. This three day 
course is designed to give participants 
sound answers to the complex ramifica- 
tions of preparing and negotiating com- 
puter contracts. Contact Brandon Con- 
sulting Group Inc, 505 Park Av, New 
York NY 10022. 

June 11-13, Minicomputers and Distrib- 
uted Processing, Chicago IL. This semi- 
nar will examine the uses, economics, 
programming, and implementation of 
minicomputers. Contact The University 
of Chicago, Center For Continuing 
Education, 1307 E 60th St, Chicago 
IL 60637. 

June 13-15, Computer Applications in 
Industry, Grenoble FRANCE. This sym- 
posium is intended as a forum for the 
discussion of recent advances in the 
applications of computers to industrial 
processes. The symposium will cover 
basic problems in computer science 
as related to industrial applications. 
Contact ALPES Congres, Avenue 
d'lnnsbruck, 38029, Grenoble-Cedex, 
FRANCE. 

June 19-21, International Microcomput- 
ers/Minicomputers/Microprocessors '79, 
Palais des Expositions, Geneva SWITZER- 
LAND. Focusing on the changing state 
of the art in mini/microcomputers and 
microprocessors, the 1979 conference 
program will probe advances in systems 
and equipment with emphasis on prac- 
tical applications and uses of minicom- 
puters and microcomputers as well as 
the techniques important to their 
development. 

June 19-23, First Annual Meeting of 
The American Association of Physics 
Teachers, New Mexico State University, 
Las Cruces, NM. The theme of this meet- 
ing will be the use of microcomputers 
in physics teaching. Contact American 
Association of Physics Teachers, Grad- 
uate Physics Building, SUNY at Stony 
Brook, Stony Brook NY 11 794. 



June 20-22, The 1979 Symposium of 
the Wilmington Section of the Instru- 
ment Society of America, University of 
Delaware, Newark DE. The symposium 
theme: "Measurement Technology for 
the 80s," is being programmed by three 
of ISA's divisions: Process Measurement 
and Control, Analysis Instrumentation, 
and Water and Waste Water Industries. 
Contact A H Straightiff, E I DuPont 
de Nemours and Co Inc, (302) 366-3810. 

June 25-26, Forum on Information 
Resource Management, Drake Hotel, 
Chicago IL. Addressing the theme: 
"Information Resource Management in 
the Years of Change," the forum will 
provide an outlook for the next decade 
in terms of information systems technol- 
ogy. Contact Ken Burroughs, DBD Sys- 
tems, 1500 N Beauregard St, Alexandria 
VA 22311. 

June 25-29, Applied Numerical Methods, 
The University of Michigan, Ann Arbor 
Ml. This course is intended for individuals 
in industry and branches of the govern- 
ment who wish to acquire a working 
knowledge of fundamental numerical 
methods. Emphasis will be placed on 
computer solutions to practical engineer- 
ing and scientific problems. Contact 
Engineering Summer Conferences, 400 
Chrysler Ctr, North Campus, The Uni- 
versity of Michigan, Ann Arbor Ml 
48109. 

June 27-29, Data Processing Operations 
Management, Toronto Canada. This 
seminar will emphasize the management 
skill and techniques applicable to the 
data processing operations function. 
Contact The University of Chicago, 
Center For Continuing Education, 
1307 E 60th St, Chicago IL 60637. 

June 27-29, Machine Processing of 
Remotely Sensed Data, Purdue Univer- 
sity, W Lafayette IN. The symposium 
will focus upon the theory, implementa- 
tion and novel applications of machine 
processing of remotely sensed data. 
Contact Purdue University, Laboratory 
for Applications of Remote Sensing, 
1220 Potter Dr, W Lafayette IN 47906. 

July 9-20, Computing Systems Re- 
liability, University of California, Santa 
Cruz CA. Contact Institute in Computer 
Science, University of California Exten- 
sion, Santa Cruz CA 95064. 

July 11-13, Microcomputer Applications, 
Southern Technical Institute, Marietta 
GA. See August 1-3 for description. Con- 
tact Dr Richard L Castellucis, Southern 
Technical Institute, Electrical Engineer- 
ing Technology Dept, 534 Clay St, 
Marietta GA 30060. 



July 16-27, Introduction to Digital 
Electronics and Microcomputer Inter- 
facing, Lexington VA. This hands-on 
laboratory course is for academic and 
industrial personnel. There will be 
approximately 60 hours of laboratory 



instruction with one microcomputer 
laboratory station for each two partic- 
ipants. Contact Prof Philip Peters, Dept 
of Physics, Virginia Military Institute, 
Lexington VA 24450. 

July 19-20, BASIC: A Computer Lan- 
guage For Executives, New York NY. 
Executive computing will be discussed, 
including problem solving, planning, 
forecasting and database systems. Also 
to be covered are programming funda- 
mentals, the mindless computer, se- 
quence, decision and iteration, com- 
puter languages and BASIC. Contact 
American Management Associations, 
135 W 50th St, New York NY 10020. 

July 23-27, Finite Element Method In 
Mechanical Design, The University of 
Michigan, Ann Arbor Ml. This course is 
intended for engineers working in 
mechanical design where knowledge of 
stresses, displacements, or vibratory 
motion is important. No previous ex- 
perience with finite elements is assumed. 
The course will familiarize the attendee 
with finite element modeling concepts 
and will review the fundamentals on 
which the method is based. Contact 
Engineering Summer Conferences, 400 
Chrysler Ctr, North Campus, The Uni- 
versity of Michigan, Ann Arbor Ml 
48109. 

August 1-3, Microcomputer Applica- 
tions, Southern Technical Institute, 
Marietta GA. The emphasis of this semi- 
nar will be on the applications of micro- 
computers in industry. Software, hard- 
ware and interfacing techniques will be 
discussed. Contact Dr Richard L Castel- 
lucis, Southern Technical Institute, Elec- 
trical Engineering Technology Dept, 534 
Clay St, Marietta GA 30060. 

August 6-8, Pattern Recognition and 
Image Processing, Hyatt Regency O'Hare, 
Chicago IL. This conference is sponsored 
by the Machine Intelligence and Pattern 
Analysis Committee of the IEEE Com- 
puter Society. The program will consist 
of submitted and invited papers and a 
large trade show of graphics and image 
processing equipment. Contact PRIP 79, 
POB 639, Silver Spring MD 20901. 

August 8-10, SIGPLAN Symposium 
on Compiler Construction, Boulder CO. 
This symposium will consider methods 
of constructing compilers and experiences 
with them. The emphasis will be less on 
theoretical methods and more on tech- 
niques applied to real compilers. Contact 
Prof Leon Osterweil, Dept of Computer 
Science, University of Colorado, Boulder 
CO 80309. 

August 8-10, First Annual Conference 
on Research and Development in Per- 
sonal Computing, Hyatt Regency O'Hare, 
Chicago IL. This conference is sponsored 
by the Association for Computing Ma- 
chinery (ACM) Special Interest Group 
on Personal Computing (SIGPC). A 
large trade show of personal computer 
and graphics equipment is planned to 



224 



June 1979 © BYTE Publications Inc 



accompany an assortment of papers, 
panels, user group meetings, work- 
shops, and person to person poster 
booths. Contact Bob Gammill, Com- 
puter Science Div, Dept of Mathematical 
Sciences, 300 Minard Hall, North Dakota 
State University, Fargo ND 58102. 

August 13-15, Conference on Simula- 
tion, Measurement and Modeling of 
Computer Systems, Boulder CO. This 
conference will feature performance pre- 
diction techniques employed during the 
design, procurement and maintenance of 
computer systems. It will provide a 
forum for both applied and theoretical 
work in the disciplines of performance 
monitoring, modeling, and simulation 
of computer systems. Contact Gary 
Nutt, Xerox PARC, 3333 Coyote Hill 
Rd.Palo AltoCA 94304. 

August 13-16, Q-GERT Network Model- 
ing and Analysis, Ramada Inn, Lafayette 
IN 47905. This course will provide the 
attendee with the information neces- 
sary to model complex systems using 
Q-GERT. Emphasis will be on the 
procedures for modeling and analysis. 
Contact Pritsker and Associates Inc, 
POB 2413, W Lafayette IN 47906. 

August 13-17, High Speed Computation: 
Vector Processing, The University of 
Michigan, Ann Arbor Ml. In this course, 
the architectual, software, and algorith- 
mic issues of vector architecture are co- 
ordinated through the discussion of con- 
cepts in computer architecture, and by 
detailed study of current vector process- 
ors and their use. Contact Engineering 
Summer Conferences, 400 Chrysler Ctr, 
North Campus, The University of Mich- 
igan, Ann Arbor Ml 48109. 

August 19-22, International Conference 
on Computing in the Humanities, Dart- 
mouth College, Hanover NH. This con- 
ference is intended to foster computer 
research and technique in all areas of 
humanistic study, to promote inter- 
national cooperation in the develop- 
ment of programs, data banks, and 
equipment, and to make the results of 
research available. The program will 
include a plenary session each evening 
and shorter sessions during the day. 
Contact Stephen V F Waite, Kiewit 
Computation Ctr, Dartmouth College, 
Hanover NH 03755.. 



In order to gain optimum coverage of 
your organization's computer confer- 
ences, seminars, workshops, courses, etc, 
notice should reach our office at least 
three months in advance of the date of 
the event. Entries should be sent to: 
Event Queue, BYTE Publications, 70 
Main St, Peterborough NH 03458. Each 
month we publish the current contents 
of the queue for the month of the cover 
date and the two following calendar 
months. Thus a given event may appear 
as many as three times in this section if 
it is sent to us far enough in advance. 



BYTE's Cits 



Call for Papers 

The Thirteenth Meeting of the 
Hawaii International Conference on Sys- 
tem Sciences will be held January 3 thru 
4, 1980 at the llikai Hotel in Honolulu 
HA. Papers on either theory or practice 
in the broad areas of computer hardware 
and software, and advanced computer 
systems applications may be submitted. 
Special emphasis will be placed on medi- 
cal information processing and decision 
support systems for upper level managers 
in organizations. The papers will be 
refereed and printed in the proceedings 
of the conference. Three copies of the 
full text of each paper should be sent 
to Dr Ralph H Sprague Jr, College of 
Business Administration, University of 
Hawaii, 2404 Maile Way, Honolulu HA 
96822 and must arrive by July 13 1979. 
Notification of acceptance and those 
papers to be presented will be mailed 
by September 15 1979. The conference 
is sponsored by the Department of 
Decision Sciences, the Department of 
Electrical Engineering, and the Depart- 
ment of Information and Computer 
Sciences at the University of Hawaii 
in cooperation with the ACM. 



Pictures from Space? 

People interested in receiving satellite 
picture images (such as weather maps) 
would do well to read the 1968 NASA 
document number NASA SP-5079. The 
document, entitled Constructing Inex- 
pensive Automatic Picture-Transmission 
Ground Stations by Charles H Vermil- 
lion, was possibly the first report aimed 
at inexpensive receivers. As stated in the 
report summary: 

This report describes how one 
can procure or build the antenna, 
FM receiver, and other compo- 
nents for an Automatic Picture 
Transmission (APT) ground sta- 
tion. Detailed drawings and parts 
lists are included. Installation, 
alignment, and operation of the 
APT ground station are also de- 
scribed. 

When the report was published in 
1 968, compatible satellites were expected 
to be operational until 1972 although 
future extension programs were planned. 

The information contained within 
the report gives enough background to 
get the serious hobbyist started on a cur- 
rent set-up if updated information can 
be found. We would be interested in 
hearing from anyone with current in- 
formation. 



Build The World's Most 
Powerful 8-Bit Computer 

Featuring The Famous Intel 8085! 

Explorer/85™ 

Starting for just $129.95 you can now build 
yourself a sophisticated, state-of-the-art 
computer that can be expanded to a level 
suitable for industrial, business and 
commercial use. You learn as you go ... in 
small, easy-to-understand, inexpensive levels! 




As featured in 
POPULAR ELECTRONICS 

EXPLORER/85 shown with Video Monitor and Keyboard/Video Terminal 

CHOICE OF HEX KEYPAD OR TERMINAL INPUT 

II you plan 10 customize EXPLORER lor dedicaled use. we recommend thai you order 
hex keypad input Bui. if you are planning to go whole nog and blow EXPLORER up 
mlo a lull size. siated-lbe-art system wilh BK or extended Basic (coming soon) up 
lo 64K of memory, lloppy disks, telephone interface printers . and all sorts oi S- 1 00 
plug-ins— you II be better oil with the Keyboard /Video terminal input The Si 49 95 
EXPLORER Keyboard/Video Termna! includes lull ASCII decoding with 12S ASCII 
upper/lower case set. 96 printable characters, onboard regulators and selectable 
display tormats — 32x16 tor lv sel or 5-1x16 lor video monitor (not included) 
EXPAND EXPLORER, LEVEL-BY-LEVEL 

Level "B", al $49 95. adds S-100 signals plus onboard RAM/ROM decoding 
Includes all pans necessary lo generate ihe signals lor S- 1 00 bus accessories Just 
add two S-100 bus conneciors and you have a complete S-100 compatible computer 
wilh a world ol add-ons al your 'ingerlips Choose Irom hundreds ol producls to 
EXPLORER/85 gives you big computer leatures immediately, without turning you satisfy your individual needs Level B kit also includes Ihe address decoders (01 
into an appliance operator doomed lo r u n pre-developed software lor Me Simply or ,board RAM and ROM expansion, which are addressable anywhere in trie 6^K field 
conned EXPLORER to a terminal video monitor or tv set and 8 vol I power supply and i_ Bve i ■x' 1 expansion, al $39.95. expands the S-100 bus lo allow a total ol six 
start running programs, ihe very first night' Level "A" leaches you machine s-100 cards to be plugged into EXPLORER s motherboard and confined in 
language and computer fundamentals it lets you run exercise programs including EXPLORER s steel cabinet includes all hardware mounting brackeis board guides, 
programs lo examine the cpu registers, examine memory, fill memory, move memory B)c Jus , ad{ j tne numDer | s 100 bus connectors you need 
and make up games You can load and play back these programs on an ordinary tape L 0ve i ■ -n,' ' expansion, al $69 95. gives you 4K ol onboard static RAM utilizing 
cassette— and display your eltorts on any lv screen videomonitor or printer (SB 95 2114 tc's Your board will also accepl lour 2716 EPROM's. which can be purchased 
RF moduialor required for tv use ) The simplified architecture of the Intel 8085 separately You now have an advanced mainframe that can be customized with the 
makes EXPLORER lar easier 10 understand than computers using the older, more peripherals of your choice lo lit any (or all) specilic requirements Each level ol 
complex but less powerful 8080A Then when you're ready. EXPLORER can be EXPLORER is separately regulated lor the ultimate in stability Factory service is 
expanded— by you-lo rival the power of any 8-bit computer on earth Or you can available from Netromcs Order your EXPLORER today! 
customize it lo perlorni a dedicated task, inanks 1" onboaid 
prototyping RAM and ROM expansion capabilities 
LEVEL "A" SPECIFICATIONS 
EXPLORER'S Level "A" system lealures an advanced Intel 



Features Intel 8085 cpu/100% compatible with 

8080A software! 

Onboard S-100 bus (up to 6 slots)! 

Onboard RAM and ROM expansion! 

Built-in deiuxe 2K Monitor/Operating ROM! 

Cassette/RS 232 or 20 maJA-112 8-bit parallel 

I/O and timer all on beginner's Level "A" system! 



- ORDER FROM THIS COUPON TODAY! — - 

Netronics R&D Ltd.. Dept BY-6, 333 Litchfield Road, New Milfard, CT 06676 



D Level "A" EXPLORER/85 kit (specify D ter- 
minal or D hex keypad input). St 29 95 plus 
$3 p&h 
1 D Power Supply kit. 5 amp. +8 volt. $34 95 
plus S2 p&h 



D Intel 8085 User s Manual. $7 50 ppd 



8085 cpu. which is 50% laster than its 8080A prede- I 

cessor, yet 100% compatible with 8080A sollware 

which, you'll discover, exisls by the lor Big computer' 

leatures inctudfl an 8355 ROM with 2K deluxe monitor/ . 

operating system which has Iwo programmable 8-bil I 

bidirectional parallel 1/0 ports buill-incasseiieintertace Q ASfJ|| Key board/ Video Terminal kit, $149.95 

with tape control circuitry lo allow labeling casselle liles. | D lus S3 o&h 

and commands which include display contents ol 7 „„',,. K _. n „, , 

memory run al user location [go to], ' mserl data.' | D J| x *}WW klt ,or he * ve,sl0n 569 95 plus 

"move contents ol memory, "examine registers mdivid- $2 p&h 

uaily or all " lill command {to till the contenis of memory I □ Level "B' S-'00/0nboard RAM/ROM Decoder 

wilh any variable) automatic baud rate selection, program- kit (less S-tGO connectors). $49 95 plus $2 

mabte characlers per line display output formal, and more' | P& n 

An 8155 RAM — I/O chip contains 256 bytes ol RAM. two □ Level "C S-100 5-Card Expander kit (less 

programmable 8 bit bi-dueclional and :ne programmable I connectors). S39 95 plus 52 p&h 

6-bit bi-direcnonai 1/0 ports plus programmable 14-bil p S-100 Bus Conneclors (gold). $<l.85eacri 

binary counler/limer. user interrupt and resef switches rj Leve , D 4K Onboard RAM kil $69 95 plus 

Onboard expansion provisions exist 10' up lo six S-100 I S2 D&h 

boards. 4K of RAM and 8K0I ROM PROM qi EPR0M |__ 



EXPL0REU/85 



□ Deluxe Steel Cabinet 
$39 95 plus $3 p&h 

□ Deluxe Sleei Cabinet for Keyboard/Video Ter- 
minal. $19 95 plus $2.50 p&h. 

D RF Moduialor kit. $8 95 ppd 

□ Tolai Enclosed (Conn res add tax) S 

D VISA D Master Charge Exp. Date 

Account # . __ 

PHONE ORDERS CALL (203) 354-9375 

Pnnl 

Name 



.Zip. 



. DEALER INQUIRIES INVITED _ 



Circle 280 on inquiry card. 



June 1979 © BYTE Publications Inc 



225 



Sixth Colloquium on Microwave 
Communications Offers Proceedings 

The Sixth Colloquium on Microwave 
Communications was held in Budapest 
between August 29 and September 1 
1978. The organization was undertaken 
by the Scientific Society for Telecom- 
munication and the Research Institute for 
Telecommunication of Hungary by spon- 
sorship of the International Union of 
Radio Sciences and the Hungarian 
Academy of Sciences. The following 
principal subjects were on the agenda 
of the meeting: communication sys- 
tems — trends and foundations; circuit 
theory and computer aided design; 
electromagnetic fields and antennas; 
microwave circuits and devices; and 
materials for microwave applications. 
The proceedings containing all papers 
have been issued in two volumes of 944 
pages in English, and are available at 
a price of $30 plus postage. Contact 
OMKDK Technoinform, Budapest, VIII 
Reviczky u6 HUNGARY. 



Fourth European Conference on 
Electrotechnics Announcement 
and Call for Papers 

The fourth European Conference on 
Electrotechnics, EUROCON '80, will 
be held in Stuttgart Germany on March 
24 thru 28 1980. The conference theme 
is "From Electronics to Microelectronics 



- Trends and Applications." Key pro- 
fessionals and industry leaders will 
give a comprehensive overview as well 
as reports on the latest developments 
in this area. A commercial and scien- 
tific exhibition will illustrate and sup- 
plement the technical presentations. 

The conference theme will be 
covered in approximately 160 papers 
under four main headings: technology 
of microelectronics; microelectronics in 
telecommunications and data processing; 
electronics in electrical power systems 
and control; and electronics and micro- 
electronics in other fields. Papers are 
invited to be submitted to: Professor 
Dr W Kaiser, Chairman Program Com- 
mittee EUROCON '80, University of 
Stuttgart, Breitscheidstrasse 2, D - 7000 
Stuttgart I GERMANY. Abstracts are 
limited to 500 words and should arrive 
no later than June 30. The completed 
text of accepted papers must be received 
by December 31. 

The 3rd World Conference on Medical 
Informatics Issues a Call for Papers 

The 3rd World Conference on Medi- 
cal Informatics will be held in Tokyo 
Japan, September 29 thru October 4 
1980. Medical informatics is the appli- 
cation of computer technology to all 
fields of medicine — health care, medical 
teaching and medical research. The 
organizers of this conference are seeking 



NEW FROM MOUNTAIN HARDWARE. 

THE APPLE CLOCK. 



New utility for 
your computer. 

Now, there's a real time clock 

for the Apple II*: the Apple 

Clock from Mountain Hardware. 

It keeps time and date in ImS 

increments for one year. On-board 

battery backup keeps the clock 

running in the event of power 

outage. Easy to use with BASIC 

using routines carried in on-board 

ROM. That means you can time events, 

put time and date on printouts, create games in which elapsed 

time is important... and many more. Mountain Hardware offers 

a complete line of peripheral products for many fine computers. 



~) 



X 




Available at your dealer's. Now. 

Mountain Hardware, Inc. 

300 Harvey West Blvd. 
Santa Cruz, CA 95060 (408) 429-8600 

"Apple II is a trademark of Apple Computer, Inc. 



papers in clinical care; administrative, 
educational and public health applica- 
tions; information technologies and 
research; and available systems and 
products. If you are interested in sub- 
mitting a paper, write to Morris F 
Collen MD, Chairman of MEDINFO '80 
Program Committee, Director, Medical 
Methods Research, Kaiser-Permanente 
Medical Care Program, 3700 Broadway, 
Oakland CA 94611. Final instructions 
for preparation of papers and special 
master typing forms will then be sent to 
you. The deadline for papers is Decem- 
ber 10 1979. 



Call for Papers: The Eighth World 
Computer Congress 

The Eighth World Computer Con- 
gress (IFIP '80), sponsored by the 
International Federation for Information 
Processing (IFIP) will be jointly held 
in Tokyo Japan on October 6 thru 9 
1980 and in Melbourne Australia on 
October 14 thru 17 1980. The Congress 
will feature presentations on state- 
of-the-art developments in technology, 
equipment, and applications prepared by 
information processing professionals 
from around the world. In order to 
identify and schedule these speakers 
and topics, the Program Committee 
has recently issued a formal call for 
papers. Those papers accepted will 
be delivered in either Tokyo or Mel- 
bourne, and in some cases at both 
locations. Potential authors should con- 
tact AFIPS, 210 Summit Av, Montvale 
NJ 07645 to receive a copy of a bro- 
chure which explains all requirements 
and necessary qualifications. 



IEEE Conferences and Meetings 

An extensive listing of IEEE Com- 
puter Society sponsored conferences 
and meetings through 1981 is available 
by writing Harry Hayman, Executive 
Secretary IEEE, POB 639, Silver Spring 
MD 20901. 



More Cryptographic Notes 

Anyone looking for an in-depth 
article on data encryption should read 
two papers brought to our attention by 
William Flynn. One is a reprint of an 
article by Ehrsam et al which appeared 
in the IBM Systems Journal, Volume 17, 
Number 2, entitled "A Cryptographic 
Management Scheme for Implementing 
the Data Encryption Standard." The 
cost is 50(t per reprint and the IBM 
order number is G321-5066. For $1.75 
you can obtain a copy of the issue which 
is devoted entirely to cryptography. 
Write to IBM Systems Journal Reprints, 
Armonk NY 10504. 

The other paper, FIPS Publication 
46, is available from the US Department 
of Commerce, National Technical Infor- 
mation Service, 5285 Port Royal Rd, 
Springfield VA 22161, at a cost of 
$4 for a paper copy and $3 for a micro- 
fiche copy.* 



226 lune 1979 © BYTE Publications Inc 



Circle 257 on inquiry card. 




from Computer Headware . . . 
a Self-Indexing Query System 

for your Apple II, North Star, or CP/M machine 




Distributed by: 

• Information Unlimited / 219-763-2244 
P.O. Box 8372, Merrillville, Indiana 46410 

• Lifeboat Associates / 212-580-0082 (CP/M model only) 
2248 Broadway, Suite 34, New York City 10024 

• Structured Systems Group, Inc. / 41 5-547-1 567 
5208 Claremont Avenue, Oakland, California 94618 




(THE MM- 103 DA TA MODEM, 

AND COMMUNICA TIONS ADAPTER 



r 



FCC APPROVED 



Both the modem and telephone system interface are 
FCC approved, accomplishing all the required protective 
functions with a miniaturized, proprietary protective 
coupler. 



WARRANTY 



One year limited warranty. Ten-day unconditional 
return privilege. Minimal cost, 24-hour exchange policy 
for units not in warranty. 



HIGH QUALITY 



-50 dBm sensitivity. Autoanswer. Auto originate. Auto 
dialer with computer-controlled dial rate. 61 to 300 baud 
(anywhere over the long-distance telephone network), 
rate selection under computer control. Flexible, soft- 
ware-controlled, maskable interrupt system. 



ASSEMBLED & TESTED 



Not a kit! (FCC registration prohibits kits) 



LOW PRICE— $319. 95 For Modem AND Coupler s m 



Potomac Micro-Magic, Inc 



Write for brochure: 
First Lincolnia Bldg., Suite B1 
4810 Beauregard St. 
Alexandria, Va. 22312 




Call for further information: 

VOICE: (703) 750-3727 

MODEM: (703) 750-0930 (300 baud) 



BYTE lune 197<J 



227 



Timesharing: 



Sheldon Linker 

6399 WilshireBlvd 

Suite 1010 

Los Angeles CA 90048 



Squeezing the Most from your Micro 



Table I: An example of a quick relocation scheme designed with a 6800 
processor in mind. This set of instructions would be stored along with the 
program on the auxiliary memory to direct the loader as to how to reinsert 
the data into main memory each time the program was run. The point of this 
scheme is to provide a minimal amount of computation when a program is 
loaded from a library into memory prior to execution. Similar schemes can be 
chosen for any particular computer's architecture. 



Command to Run Time Loader 

Start absolute loading: 

Start relative loading: 

Skip bytes: 

Define absolute start address: 

Define relative start address: 
One byte: 

Two bytes absolute: 

Three bytes relative: 
Three bytes absolute: 



Two bytes relocatable address 
values: 

End: 



Explanation 

The header code is followed by the absolute start 
address. In this case, the loader behaves as any 
other loader. There is no relocation of the data 
and instructions that follow. Loading starts at the 
address given. 

The header code is followed by an address. 
Loading begins at the first available address, as 
determined by the operating system. From this 
point on, a relocation factor will be added to all 
instructions and data flagged for relocation. 

This code is followed by a number designating 
the number of bytes to be skipped. This is useful 
in defining uninitialized buffers and is more 
efficient than repeated uses of code to reserve 
one or two bytes (see below). 

The header code is followed by the absolute 
start address. If the routine is a subroutine, this 
code would not be used as the module has no 
start address. When this code is used the program 
will be started at the specified address once 
loading is completed. 

Similar to the preceding code; however, program 
execution will start in a position relative to the 
first location. 

The header code is followed by one byte. This 
code gets no relocation, because it is either an 
instruction without an address, or data which is 
too small to be an address. 

The header code is followed by the two bytes. 
This code also receives no relocation because it 
is either an absolute address value, a one byte 
immediate instruction with its data byte, or it is 
a relative address instruction which is self- 
relocating. 

The header code is followed by the 3 byte 
instruction. This code will receive a relocation 
factor. 

The header code is followed by a 3 byte instruc- 
tion with an absolute address value which is 
unchanged in loading. 

The header code is followed by the address data. 
The address data is always relocatable. 

At this point, control returns to the program that 
called the loader if no starting address was given 
in the loading module. If the loading module con- 
tained a start address that address is called. 



Although one normally thinks of time- 
sharing as only working on large computer 
systems, it is possible to run even on small 
systems. Many of the newer large scale time- 
sharing systems use virtual memory and 
swapping, which is not possible or practical 
on smaller machines. Virtual memory 
requires mapping hardware (a machine with 
interruptable instructions, such as an 
IBM 370). Swapping requires a reasonably 
fast disk, which will cost at least $2000. 
What we are left with is an in core system 
that keeps everything running in real mem- 
ory at all times. 

The first consideration is the assembler 
and loader. In your current system, a pro- 
gram's location can be assigned only at 
assembly time. On a timesharing system, the 
programmer may not know where the pro- 
gram will be located in memory. The reason 
knowledge of this location is conditional is 
that a decision point in the design of the 
system has been reached. If the system is to 
be nonrelocatable, the programmer may 
define the location of the program. The 
problem that arises here is that if, at the 
time the program is to run, the place in 
memory that the program was supposed to 
run in is already occupied, it cannot be 
loaded. On the other hand, if the system is 
capable of relocating, the program can be 
put anywhere in memory. This produces the 
additional benefit that subroutines do not 
have to be assembled with the program. To 
perform this relocation the assembler leaves 
offset information in the object tape or file 
which the loader will interpret as it goes. 
One possible relocation code scheme is 
shown in table 1. Of course, all sorts of 
schemes are possible. Note that relocation 
alone will take some amount of coding and 
execution time. 

The second consideration is the allocation 
of system resources. In most cases this 
should concern only IO devices, although 
there may be some systems with interrupts 
not associated with IO devices. There are 



228 



June 1979 © BYTE Publications Inc 




THINK 



TM 



ATTENTION: COMPUTER DEALERS 

Compu/Think invites you to preview our new integrated business micro-computer 
system at the June NCC in New York. It has to be seen to be believed! System 

features: 

— 108,544 character semi conductor memory 

— Resident ROM Operating System 

— Resident ROM Microsoft BASIC 

— Resident ROM machine language monitor 

— Interactive de-bug facility 

— High resolution graphics 

— Full screen editing including split screen and individual 
field modes 

— Two disk storage versions: 



1] 
2) 



712,000 character memory 
2,400,000 character memory 



all at retail prices of from $4,495.00 to $5,995.00 

We will also be showing our software and other peripheral products for the 
Commodore PET and Radio Shack TRS 80 including dual disk drives. 



Location and Dates 
Sheraton Center 
Booths 130 and 131 
New York, New York 



Week of June 4th, 19 79 



Dealer Inquiries Invited 

Contact: 

Frank R. Price 

Director of Marketing 

3260 Alpine Road 

Menlo Park, CA 94025 

(415)854-2577 



COMPUTER SYSTEMS FOR BUSINESS" 



Table 2: Minimum routines that are required for handling a timesharing sys- 
tem. The end task routine should return control to the supervisory program 
with information that the task is totally finished. The last thing you want to 
do Is encounter a halt instruction in the program code and halt the machine. 

• Attempt to allocate a particular device. This routine must give a return code stating 
whether or not the device is already being allocated. 

• Free a device. 

• Read a character from a particular device. 

• Write a character to a particular device. 

• Read a particular disk block. 

• Write a particular disk block. 

• Wait. 

• End a task. 

basically three types of 10 devices. The first 
and most common type of device is the 
single owner. This is a device which can only 
be used by one task at a time. (A task is a 
program running in the timesharing system.) 
An example of a device which must be single 
owner is a cassette recorder. It would just 
not do to have someone else's data in the 
middle of your program. 

The second type of 10 device is the 
shareable unit. The most common example 
of this is the floppy disk. For a disk to be 
correctly shared, the operating system roir- 
tine which is handling the disk must reposi- 
tion the heads every time the disk is used. 
Most systems already use this method, but 
there are those that have a call to position 
the head and another set of calls to read, 
write and verify. Separate calls cannot be 
used because a second task might reposition 
the heads before the first task had a chance 
to read or write. 

The third type of 10 device is the device 
that is the system's alone. An example of 
this is the clock interrupt, a solitary inter- 
rupt device. It must be the system's job to 
keep track of time. It is also the charge of 
the system to keep track of which devices 
are owned by which tasks. The system must 
place all of the task's allocated devices back 
on the available list if a "cancel the program" 
function is executed. 

When a task wants to perform input or 
output, it might use a considerable amount 
of system time monitoring status lines, 
thereby making timesharing impossible, 
unless all, or at least some of the devices are 
interrupt driven. The best way to handle 
things is to have a routine which will cause a 
task to wait until an interrupt is received for 
that task, then let the task handle the inter- 
rupt, including polling. So far, the routines 
required are summarized in table 2. (This is 
not to say that these are the only routines 
you will ever need. Table 2 is probably the 
minimum set of functions you will ever 
need.) 

When handling disk interrupts, it is neces- 
sary to keep track of which task, if any, is 



using the disk. When a task requests the use 
of a disk or other shared device, it must get 
a return code stating whether or not the 
device is busy. Otherwise, the system must 
queue its request (make the program wait 
and handle the request whenever it can). 

A third consideration is scheduling. Each 
task has a status: ready to run, running, 
running with an interrupt pending, or 
waiting. At some point, the system must 
stop running one task and begin running 
another. 

We will require the operating system to 
reschedule the tasks every time a task asks to 
wait. Since that task cannot proceed, we will 
perform a task that is not in a wait state. 
There are three other times when we may 
optionally reschedule the tasks: every inter- 
rupt, every clock interrupt, or every inter- 
rupt and system call. These methods are 
called demand scheduling, event scheduling, 
time slicing, and quick scheduling, respec- 
tively. The fastest method is to wait for 
WAIT calls. The other three methods are 
fairer, depending on how you look at things. 

The actual method of scheduling leads to 
another decision point. The scheduler may 
be foreground-background, round robin, or 
priority scheduling. Foreground-background 
is the fastest. In this type of scheduling, the 
system scans down the list of tasks and runs 
the first nonwaiting task. When this method 
is used, the position on the list is the impor- 
tant factor. 

Round robin scheduling starts the search 
for an executable task after the last task 
running. The search starts at the top of the 
list when it hits the bottom. This way gives 
every task its chance to run. 

Priority scheduling requires a list of 
priorities. This scheduler runs the task with 
the highest priority which is not waiting. 
This is the fairest method because each task 
is given exactly what it deserves. When you 
run off the bottom of the list, using either 
the foreground-background or priority 
scheduling method, you have the option of 
starting over or executing a WAIT instruc- 
tion. Although it will cost a byte of program 
memory, it will save considerable time on a 
6800 or similar machine, since the interrupt 
vectoring will be half done by the time you 
get the interrupt. 

The above covers most of what you need, 
but there are a few more minor considera- 
tions: 

Creation of tasks: A task has to get into 
the machine somehow. Two possible meth- 
ods come to mind. One is the typical time- 
sharing method with each terminal getting 
its own task. The other is to add a system 
call which adds a new task. 



230 June 1979 © BYTE Publications Inc 



Memorex 
Floppy Discs 

Lowest prices. WE WILL NOT 
BE UNDERSOLD!! Buy any 

quantity 1-1000. Visa Mastercharge 
accepted. Call free (800)235-4137 
for prices and information. All 
orders sent postage paid. 



PACIFIC 
EXCHANGES 

100 Foothill Blvd. 
San Luis Obispo. CA 
93401. (In Cal. call 



Circle 295 on inquiry card. 




Don't Forget! 

Our New 4K Byte Non-Volatile 
Memory Boards Won't Let You! 

• 30 days minimum guaranteed 
data retention 

• Ultra low power 450 NSEC 
static CMOS RAM IC's 

• On-board regulator, power 
monitor and battery 

• S-100 bus compatible 

Assembled and Tested 
$395.00 

Remember . . . 

to send for details! 



1395 Golf Street 
Dayton, Ohio 45432 



Circle 88 on inquiry card. 




6800 DEVELOPMENT PAC 

• 6800 MICRO COMPUTER 

• 48K RAM 

• EROM PROGRAMMER 

• RS-232 INTERFACE 

• CASSETTE INTERFACE 

• MONITOR DEBUG ROM 
•EDITOR/ASSEMBLER 

• 4K INDUSTRIAL BASIC 

• RACK, BACK PLANE, SUPPLY 

• $1895 



wixiii; 



Corp. 



317-742-6802 

902 N. 9th St., Lafayette, IN 47904 



TRS-80 16K MEMORY EXPANSION KIT 

INCLUDES 8 TESTED & GUARANTEED M5K 4116 3 16K RAMS 
PROGRAMMING PLUGS I EASY-TO-FOLLOW INSTRUCTIONS 
$72B0 PER KIT 



6800 64K BYTE RAM SET AND C0NTR01LER 

CHIP SET HAKE 64K BYTES OF MEMORY FOR YOUR 
6800 THE CHIP SETS INCLUDE: 
„„.,.„„ 32 M5K 4116-3 16K RAMS. 

%L°lVS 1 MC3480L MEMORY CONTROLLER. 

PER COMPLETE SET ' MC3242AP MEMORY ADDRESS 
MULTIPLEXER/COUNTER. 
DATA & APPLICATION SHEETS 
PARTS TESTED 8 GUARANTEED. 



16K DYNAMIC RAMS 

M5K 4116-3 200 NSEC 
ACCESS TIME/375NSEC 
CYCLE TIME TESTED I 
BURNED- IN 
$850 EACH/MIN.QTY. 8 



4K STATIC RAMS 

EQUIV. TO TMS40L44-30 
300NSEC ACCESS TIME/ 
CYCLE TIME FOR 4MHZ 
2-80 OPERATION. 
$75Q EACH/MIN.QTY. 8 
TESTED S GUARflNTEFO 



QUANTITY DISCOUNTS AVAILABLE 
ALL ORDERS POSTPAID U S.FUNDS. CHECK OR MONEY 
ORDER. VISA,BA,MASTERCHARGE-SENO ACCOUNT NO 
EXPIRATION DATE , INTERBANK NO., 4 SIGNED ORDER 
PHONE ORDERS: 714/633-4460 

MEASUREMENT SYSTEMS & CONTROLS.inc. 

MEMORY DEVICES DIVISION, DEPT. B3 

867 NORTH MAIN ST., ORANGE, CA 92668 



Circle 216 on inquiry card. 



SURPLUS ELECTRONICS 



ASCI 




ASCII 



IBMSELECTRIC 

BASED I/O TERMINAL 

WITH ASCII CONVERSION 

INSTALLED $645.00 

• Tape Drives • Cable 

• Cassette Drives • Wire 

• Power Supplies 12V15A, 12V25A, 
5V35A Others, • Displays 

• Cabinets • XFMRS • Heat 
Sinks • Printers • Components 
Many other items 

Write for free catalog 
WORLDWIDE ELECT. INC. 
130 NORTHEASTERN BLVD. 
NASHUA. N.H. 03060 
Phone orders accepted using VISA 
or MC. Toll Free 1-800-258-1036 
In N.H. 603-889 7661 



Circle 391 on inquiry card. 



CASSETTE AND FLOPPY 
DISC LADELS. 



, Sl0e . / ' Mir-adhMlv* 

| ( STANDARD CASSETTE 

r«movpbie [ibal 



Avery offers a complete line of labels for 
cassettes and floppy discs — all with re- 
movable adhesive. Including these stan- 
dard sizes: 

Cassette Label (1%" x 3 1 /2") #5250 
Floppy Disc Label (W x 5V5>") #5252 
Write for more information and free 
samples to: 

Avery Label 

777 East Foothill Blvd. 

Azusa, CA 91702 

Avery Label 



An Avery International Company 



DATA PROCESSING 
SUPPLIES 

Std. or Mini Floppy. . 2.98 ea. 

TRS-80 Cassette 1.49 ea. 

ANSI (notch) 

Cassette 4.90 ea. 

QumeorlBM 6240 

Ribbon 29.95 dz. 

OTHER SUPPLIES 
AT SIMILAR BARGAINS 

Order Now from 

John Richards 

KEY SUPPLY CO. 

2101 S. IH 35 Suite 300 

Austin, Texas 78741 

(512)443-1347 

All products from major manufac- 
turers, fully guaranteed. No limit 
while quantities last! 



Circle 183 on inquiry card. 




HAZELTINE 
1400 

only 

$649.95 ! 

• Verbatim Mini Diskettes . . . 

. . . $3.70 each (boxes of 1 0) 

• Intertube . . $784.00 

• TRS-80 16K Level II 
Expansion Kit $89.95 

• Centronics 779 tractor .... 

$1050.00 

• Horizon II ass. . . .$1999.00 

Mail TORA SYSTEM INC. 
Order 2 9-02 23rd Avenue 
° nly - Astoria NY 11105 
(212) 932-3533 



Circle 371 on inquiry card. 



RT/68 - M6800 Real Time 
Operating System 

— Executive controlled, event driven 

— up to 128 fixed priority tasks run 
concurrently 

— intertask communication through 
messages 

— Executive requires only Ik bytes 

— NCR task: monitor Console Functions 

— CLOK task: task timer, time-of-day, 
calendar 

input from ASCII keyboard 
output to ASCII display 
input/output from ASCII 



— KBD task: 

— CRT task: 

— TTY task: 
terminal 

— Proven in 



Industrial Supervisory/ 



Control applications 

Sources on diskette $350.00 

Motorola MOOS Format at Sierra Digital 

X6800 format 

Broadcast Computer Systems 

323 Penworth Way S.E. 

Calgary, Alberta Canada T2A 4G1 



Circle 389 on inquiry card. 



Circle 20 on inquiry card. 



Circle 34 on inquiry card. 









DISK 














TERMINAL 






CLOCK 
















1, 










n 









DISK 
















TERMINAL 




PRINTER 






















i, 










ll 



CLOCK 




PROCESSOR 



PRINTER 



DISK 



Figure I : A system set up with each processor having its own mass storage 
device and 10 peripherals. 



PROCESSOR 



PROCESSOR 



PROCESSOR 



PROCESSOR 



Figure 2: This arrangement uses resource sharing. To make this arrangement 
work, processor to processor data links must be added. Timesharing and 
multiprogramming can be useful in the personal system. What happens when 
two children and two adults must share several terminals? What about the 
case when you want to do a listing or assembly on a slow printer while con- 
tinuing an editing operation on a separate source file? The smallness of the 
scope of a computer does not rule out the use of resource sharing and 
multiprocessing. 



232 ]une 1979 © BYTE Publications Inc 



Circle 78 on inquiry card. 



o PET ANALOG INPUT 

Analog to Digital Conversion System for the Commodore PET Computer 



■YBTBMM | 



Give Li~ke PET the abi 1 i Ly Lo sensEr 
me35ure* and control the world around 
it with DAM SYSTEMS modules. Just plus 
the F-ETSET1 into the PET to siet 16 
channels of analog input. Screw 
ter iiiinsls ar e tt ov i ded for each chan n e 1 
so you can hooK up Joystick s i f-o ts » or 
whatever appropriate sensors you have. 

Each of the 16 analog inputs* in 
the ranae of to 5.12 voltsr is 
conver ted to a decimal number between 
and 255 < 20 mi 1 livol ts per count )♦ 
Conversion time is 100 microsconds . 

In addition » the F'ETMOD provides 
two IEEE ports and one user port as 
well as a EiAM SYSTEMS port. 

Software is provided. A one line 
program is all that is necessary to 
read a channel . 



od .:r 

KIMUOD {/l I 



KIM INTERFACE 



] 6 

^ ] THS-aO USD 
THS-80 INTERFACE 



Wr> 



ANALOG INPUT 



ANALOG 
MANIFOLD 
MODULE 



5EN50R5 

TEMPERATURE 

VELOCITY 

PRESSURE 



ACCELERATION 



1 -AIM161 
1 - PETMOD 
1- CABLE A24 
1 - MANM0D1 
1- P0W1 



PETSETl 

- 16 ANALOG INPUTS-8 BITS-100 MlCROSEC 



24 INCH INTERCONNECT CABLE 
MANIFOLD MODULE-SCREW TERMINALS 
FOR INPUTS, REFERENCE, GROUND 



POWER MODULE 




PETSET1Q for 110 VAC $295 
PETSETIe for 230 VAC $305 



3 t 



CONNECTICUT microCOMPUTER , Inc. 

150 P0C0N0 ROAD 

BROOKFIELD, CONNECTICUT 06804 

TEL: (203) 775-9659 TWX: 710-456-0052 

VISA AND M/C ACCEPTED-SEND ACCOUNT NUMBER, EXPIRATION DATE AND SIGN ORDER. 

ADO $3 PER ORDER FOR SHIPPING 8 HANDLING - FOREIGN ORDERS ADD 10% FOR AIR POSTAGE. 



Memory: You can set things up so that 
each task has a fixed amount of memory 
(which may or may not be reset between 
tasks) or use some sort of a system where 
the tasks can acquire and free memory 
dynamically. 

Niceness: Programs must be nice to one 
another, as very few of the machines around 
have any sort of memory protection or 
privileged instructions. 

Machine considerations: When an inter- 
rupt occurs, or a task is otherwise stopped, 
the registers, including the program status 
word (PSW), and stack pointer must be 
saved and later restored. Depending on the 
type of programs you run and your type of 
machine you may have to save and restore 
all or part of page zero. If you have a 6502, 
you will also have to deal with the stack's 
page. 

Reentrancy: Programs which can be run 
concurrently by more than one task are 
reentrant. You may wish to set up some way 
of effectively using reentrant programs, such 
as having a null task, into which may be put 
reentrant subroutines; or by having various 
small reentrant routines always in the same 
place in memory, such as multiply and 
divide. 



There are other methods of going about 
this completely, which I mention only in 
passing. Many BASIC systems will have one 
BASIC interpreter in memory along with 
multiple programs, and will execute one line 
of BASIC code and then go on to the next 
pseudotask. This will also work for APL, 
although long matrix operations will tend to 
extend the intervals between transitions 
from one process to another. (Of course, it 
is a debatable point whether or not a time- 
sharing APL and two workspaces will ever 
fit into the same memory at one time.) 

Multiple processor timesharing systems 
are also possible. Assuming that you have a 
central processor with disks and printers, 
there is a method that can save a lot of 
money. This method is resource sharing. 
Figure 1 shows a typical group of three com- 
puters each working independently. Each 
processor handles everything with inefficient 
use of the printers and disks. Figure 2 de- 
picts a resource sharing setup. This requires 
the addition of processor to processor data 
links. In this setup, each peripheral processor 
does the computing while the central proc- 
essor handles queued 10 and interrupts 
much like the simple timesharing systems 
above." 




VAK-4 16K STATIC RAM BOARD 

• Designed specifically for use with the AIM-65, SYM-1, and KIM-1 microcomputers 

• Two separately addressable 8K-blocks with write protect. 

• Designed for use with the VAK-1 or KIM-4* motherboards 

• Has provisions for mounting regulators for use with an unregulated power supply 

• Made with 1st quality 2114 static ram chips 

• All IC's are socketed 

• Completely assembled, burned-in, and tested 

We manufacture a complete line of high quality expansion boards. Use reader service 
card to be added to our mailing list, or U.S. residents send $1.00 (International send $3.00 
U.S.) for airmail delivery of our complete catalog. 
"Product of MOS Technology 



VAK-4 DUAL 8K-RAM $379.00 
VAK-2 8K-RAM (% populated) $239.00 



JTrnb>- 



ENTERPRISES 



INCORPORATED 
2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564 



Circle 325 on inquiry card. 



June 1979 © BYTE Publications Inc 



233 



About the Author 

C Brian Honess is currently assistant professor of management science in 
the College of Business A dministration at the University of South Carolina. 
He reports that he has been an active "building" radio amateur (ham) for 20 
years; his interest in computers goes back to programming scientific business 
applications on an IBM 1620. He learned about what was Inside computers by 
buying a surplus IBM 704 from the government, and slowly taking it apart 
(donating, selling and scrapping the parts as he went). Another 704 was 
eventually purchased, and this time it was built back up, from the inside out. 
This is not exactly a typical personal computer. 



Three Types 

of Pseudorandom 

Sequences 



Random numbers are extensively used in 
virtually all areas of data processing, from 
the simplest games for a hobby microproces- 
sor, up to the most complex business and 
scientific applications. Deterministic games 
programmed without the benefit of some 
random parameter soon become boring and 
easy to "beat," so it would seem that ran- 
dom number generation and testing should 
be of interest to even the neophyte pro- 
grammer or computer hacker when trying to 
get a simple game up and running. Random 
numbers are used extensively in various 
business applications. For example, random 
numbers would be used by an auditor faced 
with a large number of transactions to audit, 
and using a sampling technique to only look 
at a certain percentage of representative 
transactions. The number of checkout 
stations at your local discount department 
store may have been determined by using 
a mathematical model of the store, wherein 
the arrival and departure of "customers" 
was simulated using random numbers. 
Market research makes extensive use of 
random numbers, in selecting the people, 
streets, blocks, households, etc, to inter- 
view or to mail questionnaires. A math- 
ematical model can also be "built" of an 



C Brian Honess 

Asst Prof of Management Science 
College of Business Adm 
University of South Carolina 
Columbia SC 29208 



element, molecule or compound, and a 
particle introduced at random and collisions 
counted. Suppose further that you had a 
photograph of some obscure planet, covered 
in an extremely irregular way with areas 
you assumed to be water. You could divide 
the photograph into small squares, or maybe 
overlay with a piece of graph paper, and 
then "take shots" at the grid with a random 
number generator, wherein the random 
number would determine the coordinates of 
the "shot" and you could then tally the 
number of "hits" and "misses" and thereby 
determine the number of hits out of the 
total number of shots, and get an approx- 
imation of the percentage of the surface 
covered by water. 

Before reading on, let me suggest that 
you try a short experiment. Consider the set 
of integers from to 99, and quickly write 
down a list of random 2 digit numbers. Use 
whatever your current idea of random is, 
and make a list of 100 numbers. Later we'll 
see several methods for determining how 
random your numbers are, but I'll hasten to 
guess that they won't be very random. 
Psychologists repeatedly show that the 
average human just cannot think up random 
numbers. Upon inspection, there might be 
too many 4s compared with 6s, or maybe 
very few 0s and an abundance of 5s. 

While it's true that a machine can pro- 
duce a much better selection of truly ran- 
dom numbers than a human, the problem is 
that the numbers produced by the machine 
aren't really random either. If you could 
build a perfect roulette wheel, you'd get 
truly random numbers, but the mechanical 
considerations of such a device are, of 



234 



June 197') H I1YTI Publications Inc 



Circle 73 on inquiry card. 



Circle 365 on inquiry card. 



AT LAST! 



A MICROCOMPUTER SYSTEM WITH THE SPEED AND POWER TO HANDLE A 
BUSINESS WORK LOAD. 

The Computex 16-bit MICROENGINETM CPU processes Pascal (UCSD version 3.0) 
live times faster than any comparable unit, and at least twenty times faster than 
the 8080 or Z80. Still our X-pert SystemsTM are price competitive with 8-bit 
systems. 



$2695 • 



ready to run 




' LIMITED TIME cash price. 
10% DOWN, guarantees priority. 



PASCAL MICROENGINETM 



MICROENGINETM specifications: 

• 16-bilP-codeCPU 

• 64K bytes RAM 

• Floppy disk controller 

• Full DMA 

• Floating point hardware 

• 2serial (RS232) I/O ports 

• 2 parallel I/O ports 

• Pascal and Basic compilers 

• Texi editor. 

• File manager 

• CPU and memory diagnostics 

• Symbolic Pascal debugger 



Also available: 

• Complete turn-key systems 

• CRT terminals 

• High speed printers 

• Text quality printers 

• Floppy disk drives 

• Applications software 

Customer satisfaction is guaranteed. Full 
refund with the return of any product within 
10 days. Complete technical catalog S1. 



COMPUTE 

"THE COMPUTER EXPERTS." 



5710Drexel Avenue 

Chicago, IL 60637 
(312) 684-3183 



TURTLES 



• I t 




by 7c//(// )//). /Mi 



Small home robots 

controllable 

by your computer. 



Attachable to any computer via parallel interface 
(not included.) 

Use your Turtle to map rooms, solve mazes, dance, 
explore Artificial Intelligence, teach geometry or 
programming. 

Computer not included (batteries not needed). 



Brochures available 



Terrapin, Inc. 



Kit $400, Assembled $600 33 Edinborough Street 

S-100 Bus Interface Kit $40, 6th Floor 

Assembled $50 Boston, MA 02111 

U.S. postage $5 (617)482-1033 

Mass. residents add 5% sales tax 



video 
It 



III 



12" BLACK & WHITE 
LOW COST VIDEO 
MONITOR 
$149.00 LIST 

• Ideal for home, personal and business com- 
puter systems 

• 12" diagonal video monitor 

• Composite video input 

• Compatible with many computer systems 

• Solid-state circuitry for a stable & sharp picture 

• Video bandwidth— 12 MHz ±3 DB 

• Input impedance — 75 Ohms 

• Resolution — 650 lines Minimum IN Central 80% 
of CRT; 550 Lines Minimum beyond central 80% 




of CRT ref EIA RS-375 

• Dimensions— 11.375" high; 16.250" wide; 
11.250" deep (exclude video input connector) 

• Weight— 6.5 KG (14.3 lbs) net 

AVAILABLE FOR IMMEDIATE DELIVERY! 



LEEDEX Corporation 



^L20 



2300 East Higgins Road • Elk Grove Village, Illinois 60007 • (312) 364-1180 • TLX: 25-4786 

Generous dealer discount available 



Circle 203 on inquiry card. 



BYTE June 1979 



235 



Square of 
number 



18671041 




Random 
number 



4321 -.«*-. 



. starting seed 



^6710 



241 



0580 



3364 



Figure 1: Operation of the center squared method of random number 
generation can be illustrated by this example. Here we use 8 digit decimal 
numbers, and assume the ability to extract the center four digits as the 
4 digit random number for each cycle. [In principle this algorithm could be 
done on a binary basis by picking the middle 16 bits of a 32 bit product, or 
the middle 32 bits of a 64 bit product . . . CH] All versions of this algorithm 
are subject to the problem of degeneration, since if the middle digits happen 
to become 0, the square will continue to be through successive generations 
of the algorithm. 



course, impossible, to say nothing of the 
costs, speed, maintenance, testing, and so 
forth. There is really not much need to strive 
for such a device for the usual application of 
random numbers, because there are some 
mathematical methods which produce what 
are called pseudorandom numbers. Im- 
plemented on a computer, they are quite 
fast, easy to implement, and just as much 
fun to play with as a roulette wheel! 

Before looking at some of these 
methods, I might mention that there are a 
couple of other ways to get random numbers 
for your games, experiments, or business 
applications. You could always punch or key 





BASIC Program 


Sample Results 


100 


PRINT "INPUT A 4-DIGIT SEED"; 




110 


INPUT N 


4321 


120 


LET N = N * N 


18671041 


130 


LETN = N/100 


186710.41 


140 


LET N = INT(N) 


186710 


150 


LET A = A/ 10000 


18.6710 


160 


LET A = INT(A) 


18 


170 


LET A = A * 10000 


180000 


180 


LET N = N - A 


6710 


190 
200 


PRINT N 
END 


6710 



Listing I : A BASIC program which accomplishes one generation of the center 
squared method of calculation . Note that this program assumes an interpreter 
with at least eight decimal digits of accuracy. 



into your system as many numbers as you 
want from the Rand table. This is a formal 
table used by statisticians entitled A Million 
Random Digits and published by Rand 
Corporation. There are a million of them, 
so this could take quite a while. Of course, 
you're assured that these numbers are 
thoroughly tested and as unbiased as 
possible, but assuming you have the time 
and perseverance to do the job, unless you 
work out some scheme for using different 
parts of the table or different orderings, 
you'll always get the same string of digits. 
You might find an abbreviated table in the 
back of some statistics book and use the 
numbers therein, but the problem here is 
that you'll probably need more numbers than 
appear in the table. Of course you could 
always go through the table more than once, 
but this doesn't multiply the size of the 
table. In some applications it might be 
desirable to be able to use the same random 
numbers, in the same order, more than once. 
For example, you may want to duplicate 
the results of an experiment, an audit, a 
market research test, or a game. But usually, 
you'll want a new string of numbers, and 
this can be secured by selecting starting 
values or other parameters in the math- 
ematical algorithms that follow. 

The Center Squared Method 

The earliest computer oriented method 
for producing pseudorandom numbers was 
probably the center squared method. In this 
method we begin with a 2n digit number, 
square it, and then extract the center 2n 
digits from the 4n digit result, and this 
becomes the next random number, and also 
becomes the number which is squared in 
the next iteration. For example, suppose 
you want some 4 digit random numbers. In 
this case, of course, n = 2, and let's assume 
we start off with the number 4321 as our 
"seed" value. Figure 1 shows the process 
through three iterations. 

This method makes a good little pro- 
gram to assign to a beginning programming 
class because it is easy to explain, easy to 
determine what the answers "should be," 
but it has several problems which arise as 
you get deeper into the problem. In 
FORTRAN or BASIC, lacking any specific 
digit manipulation instructions, the hard 
part comes when you try to strip off the 
digits either side of the center. Listing 1 
shows a simple BASIC program which 
will generate one random number. [This 
program assumes an interpreter with 
greater than eight digits of arithmetic 
precision]. Here, we see that we desire four 
digits, and enter the seed 4321 . Squared, 



236 



lune 1979 © BYTE Publications Inc 



NEED EIA CABLE? 

^ Data Set 
/ has it! 



They don't call us "The Company with a Lot of 
Connections" for nothing! Whatever your 
interface cable needs, call on Data Set. We have 
all types of cable and connectors, pinned to your 
specifications — ribbons, coax, twin-ax, Telco, 
junction boxes ... to name just a few. 



Circle 331 on inquiry card. 



THESE 

ITEMS IN 

STOCK 



► 



EIA RS 232-C Cables -All 25 Pins Wired 
MALE to-MALE or MALE to FEMALE 



3-foot length 
$17.50 ea. 



Specify when ordering: 

A 5-foot length _ 

$18.50 ea. * 



10-foot length 
$21.00 ea. 



SPECIAL TO JULY 15, 1979 ONLY! 

10% Discount on any of the above items. 

PLEASE MAKE PAYMENT WITH ORDER. 



New catalog available 

The Company with a lot of Connections 

Data Set Cable Company, Inc. 

We serve you from 2 locations: 

722 Danbury Road — PO Box622 3660 Polaris Avenue. ■•■• 21 
Ridgef ield. Connecticut 06877 Las Vegas, Nevada 891 03 

(203)438-9684 (702)873-2133 



16K STATIC RAM 




Kit price 
$285 450 nsec 
$320 250 nsec 
Memory Chips 



mn ■ • 



■ -wm>> 



Add $25 for assembled, tested. Guaranteed. 

Static TMS 4044- Fully Static 4Kx1 Memory chips for better data 
integrity and DMA compatibility. 

Fully S-100 Bus Compatible-All lines fully buffered. Dip Switch 
Addressable in two 8K blocks, 4K increments. Write Protect- 
able in 2 blocks. Memory Disable using Phantom (pin 67) or 
strappable to any other pin. 

Bank Select-Using Output port 40 H (Cromemco software compati- 
blej-addressable to 51 2KB of RAM or for time share. Also has 
alternate port 80 H -ma king over 1 million byte of RAM available. 

Quality Components-First quality parts, fully socketed. Glass 
epoxy board with silk screened legends, solder masks. Gold 
Contacts. 

Guaranteed-parts and labor for 1 year. You may return the 
undamaged board within 1 days for a full refund. Foreign and 
kit purchasers-parts only guaranteed; no return privilege. 

Orders- You may phone for Visa, MC, COD orders. ($4 handling 
charge for COD orders only) Personal checks must clear priorto 
shipping. Shipping-Stock to 72 hours normally. Will notify 
expected shipping date for delays beyond this. Illinois resi- 
dents add 5% tax. Please include phone number with order. 



S.C. digital 



P.O. Box 906 
Aurora, IL 60507 



Phone: 
312-897-7749 



<T 



WE HAVE IT 



% 



What is U? The New Pascal Microen g ine . 

JT features the new Western Digital 16 Bit Pascal Microengine CPU, 64K 
RAM, (2) RS232 ports, (2) parallel ports & (2) Shugart 801 4 dual density drives. 
U will directly execute Pascal generated P-Code (the only CPU on the market 
designed to directly execute a high level language), & IT will run compiled 
BASIC. Wait, that's not all — JT normally sells for $4,495, but you can have IT 
for $4,195. Dealer prices are much lower. Plus we have software galore. 

Call us about H at (803) 756-6000. 



THE PASCAL 
MICROENGINE 

FROM THE COMPANY 

THAT GIVES YOU 

TOMORROW'S INVENTIONS 

TODAY 



*ssa 



T^ FT 

TECHNOLOGY SYSTEMS SOOTH 
Suites 9 & 10 Henry Building, Loris, S.C. 29569. 



Circle 364 on inquiry card. 



BYTE lune 197<J 



237 



1 00 PRINT "HOW MANY NUMBERS DO YOU WANT? ' ' ; 

110 INPUT J 

120 PRINT "INPUT A 4-DIGIT SEED"; 

130 INPUT N 

140 FOR I = 1 TO J 

150 LETN=INT(N*N/100) 

160 LETA = INT(N/10000)*10000 

170 LETN = N-A 

180 PRINT N 

190 NEXT I 

200 END 

Listing 2: A BASIC program which will generate a list of random numbers 
using the center squared method. The program embeds a revised form of the 
calculation of listing J within a FOR-N EXT loop. 



this becomes an 8 digit number in line 120. 
Line 130 divides by 100 in the first step of 
several necessary to get out the four center 
digits. Of course if you wanted 2 digit 
random numbers your seed would have 
been a 2 digit number; you'd have a 4 digit 
square, and you would change line 130 to 
divide by 10. For 6 digit numbers, you'd 
change it to divide by 1000, etc. Line 140 
completes the removal of the right-hand 
two digits by integerizing the number. 
This resulting 6 digit number is then set 
aside, and you start removing the front 
two digits. This is done by dividing by 
10000, integerizing the result and then 
multiplying by 10000. In line 180 you 
subtract this number from the one pre- 
viously set aside and out come the center 
four digits, the new random number. If 
you are working with 2 digit random num- 
bers, the divisor in line 150 would be 
changed to 100 and you'd then multiply 
by 100 in line 170. 

One number isn't going to be enough 



100 PRINT "HOW MANY NUMBERS DO YOU WANT?"; 

110 INPUT J 

120 PRINT "INPUT A 4-DIGIT SEED"; 

130 INPUT N 

140 FOR I = 1 TO J 

150 LETN = INT(N*N/100) 

160 LET A =INT(N/1 0000)* 10000 

170 LET N = N - A 

180 PRINT N 

190 IF NO THEN 230 

200 PRINT "DEGENERATION AFTER"; N ; "NUMBERS" 

210 PRINT "ENTER ANOTHER 4-DIGIT SEED"; 

220 INPUT N 

230 NEXT I 

240 END 

Listing 3: The program of listing 2 will occasionally produce examples of 
degenerate cases. The center squared method is prone to such degeneration 
with an unpredictable frequency, so for purposes of illustration this version 
incorporates an ad hoc fix to ask for a new seed when degeneracy is detected, 
and report on how many cycles were required to reach degeneracy. 



for most applications, so let's put in a loop 
and get "n" numbers. Listing 2 shows the 
modifications necessary. Also, we'll combine 
lines 120 to 140, and lines 160 to 170 in 
listing 1. 

I remember when I first coded this 
method in a beginning FORTRAN class. I've 
forgotten what 4 digit seed the instructor 
used at the time, but it was a revelation 
when I found out about something he called 
"degeneration." I'm sure a simple program 
can be written to discover any and all of 
the 4 digit seeds which will cause this 
program to degenerate to zero, but let's 
assume that there is at least one, and that 
Murphy's Law will guarantee that this 
particular one is the seed you choose for 
your first run. It is not difficult to imagine 
that there is a 4 digit number, which, when 
squared, will have four zeros in the middle. 
Maybe your number squared will be 
12000034, or 65000025, etc. This being the 
case, you'll get 0000 as your next random 
number until you discover what is going on 
and get out of the loop. Listing 3 shows how 
we'll test for that problem and perform an 
ad hoc fix; we'll just call for another seed 
when a random number of zero is obtained. 

Our final try at the center square program 
still doesn't solve one of the worst problems 
with this method. The method doesn't give 
very long periods for many seeds, and you 
really can't predict what the results will be 
until you try it. The method starts repeating 
numbers, and even the place where it starts 
repeating can't be determined without trying 
it. For example, you may print out 722 dif- 
ferent numbers, and then it will start 
repeating the last 34 of them. The method is 
easy, and it is fun, and it may just produce 
all the pseudorandom numbers you need 
for your application. 

Fibonacci Series Technique 

A second method for generating random 
numbers makes use of the Fibonacci series, 
so named for its discoverer Leonardo of Pisa, 
known as Fibonacci (meaning son of 
Bonaccio). Leonardo was perhaps the 
greatest European mathematician of the 
Middle Ages, and if not for him you might 
be programming your machine using Roman 
numerals, because it was Leonardo who 
recognized the enormous superiority of the 
Hindu-Arabic decimal system with its 
positional notation and the zero symbol, 
over the much clumsier Roman system. 
Table 1 shows several numbers in the 
Fibonacci series, and you'll notice that each 
number is simply the sum of the previous 
two numbers. Actually, we could make up 
any number of series by starting with any 



238 lune 1979 © BYTf Publications Inc 



Circle 120 on inquiry card. 



BUILDING BLOCKS FOR 
MICROCOMPUTER SYSTEMS, 
CONTROL &TEST EQUIPMENT 




R 2 I/O 

2K ROM 2 K RAM 

3 SERIAL PORTS 1 PARALLEL PORT 




TABLE TOP MAINFRAMES 




ECT-100-F 

RACKMOUNT CARD CAGES 

POWER SUPPLIES, CPU's, 
MEMORY, OEM VARIATIONS 



SPECIALIZING 

IN 

QUALITY 

MICRO- 
COMPUTER 
HARDWARE 

INDUSTRIAL 

EDUCATIONAL 

SMALL BUSINESS 

PERSONAL 

ELECTRONIC 

CONTROL 

TECHNOLOGY 

763 RAMSEY AVE. 
HILLSIDE, N.J. 07205 

(201) 686-8080 



Computer Lab of New Jersey 

Computer Lab sells the best S-1 00 Bus products at the best 
possible prices. Not only are our prices great, so is our deliv- 
ery. We offer a 1 0% discount on most major lines, plus a 5% 
additional discount for a cash purchase. 





OUR 


LIST 


CASH 


PRICE 


PRICE 


$139.00 


$118.00 


$295.00 


$252.00 


$299.00 


$255.00 


$245.00 


$209.00 


$429.00 


$366.00 



Godbout 8K Unkit 

Godbout 16K Unkit 

Thinker Toys Super RAM 1 6K Kit 

Vector Graphic 8K Assembled 

Problem Solver 16K Assembled 



Subject to available quantities. Prices quoted include cash discount. 

Shipping and Insurance Extra 

Cut-off Date July 15 

Call for our prices on: 

Cromemco, Dynabyte, Godbout, Integral Data Systems, IMC, 

Ithaca Audio, Meca, Micropolis, Mountain Hardware, Mullen, Oliver, 

SSM, Soroc, Tarbell, TEI, Teletek, and many other fine products. 

Computer Lab of New Jersey 

141 Route 46 • Budd Lake, N.J. 07828 
Phone: (201)691-1984 

HOURS: Monday & Friday: 12 to 6, Tuesday-Thursday: 12 to 9 
Saturday: 1 to 5 

Call or write for our free catalog & price list 



MONITOR *139, 12 B&W 





SCT-100 VIDEO BOARD FEATURES 

• 64x16 line format with 128 displayable characters 
• Serial ASCII or BAUDOT with multiple Baud rates 
• $187 Assembled or $157 Kit (Partial Kit $95) 
• Full cursor control with scrolling and paging 
• On board power supply 

• Serial interface RS232 or current loop 

• Purchase SCT-100 alone or complete terminal 



COMPLETE KEYBOARD TERMINAL $350 

Full Kit $295 (includes SCT-100) 



»XIT€XCORB 



13628 Neutron P.O. Box 402110 
Dall... TUnu 75340 (214)388-3890 



ORDER BY PHONK/Qvet«ea« orders fc dealers welcome 




»XIT€X MORSE TRANSCEIVER 



• Auto Space on word boundries 

• Grid/Cathode key output 

• LED Readout for WPM 
Buffer space remaining 



• $95 Partial Kit • $225 Complete Kit 

COPY 

• 1 to 150 WPM with 
Auto-Sync. 

• Continuously computes 
and displays Copy WPM 

• 80 HZ Bandpass filter. 

• Re keyed Sidetone Osc. 
with onboard speaker. 

• Fully compensating to 
copy any 'fist style' 



• $295 Assembled 




' ASCII (110, 300.600, 1200) 
or Baudot (45, 50, 57. 74) compatible 




• Simplex Hi V Loop or T2L 
electrical interface 



• Interfaces directly with theXITEX" 
SCT-100 Video Terminal Board: 
Teletypes 1 Models 15. 28, 33, etc.; 
or the equivalent 



Circle 400 on inquiry card. 



UYTt I line 1979 



239 



(a) 



The Fibonacc 


i Series 


n 


F n 


1 


1 


2 


1 


3 


2 


4 


3 


5 


5 


6 


8 


7 


13 


19 


4181 


20 


6765 


21 


10946 


22 


17711 



(b) 



Some Characteristics of the Fibonacci Series 



Final digit (LSD) 
Last 2 digits 
Last 3 digits 
Last 4 digits 
Last 5 digits 
etc. 



repeats 
repeat 



cycle 
cycle 



Every 



3rd 
4th 
5th 
6th 



F n is divisible by 



of 60 

of 300 

1500 

1 5000 

" 150000 



Note: this is also 
the Fibonacci series. 



Table I: The Fibonacci series is a numerological phenomenon which is generated by the 
following definition: the next term In the series is the sum of the previous two terms, with the 
first two terms defined to be a value of 1 as a starting point. At (a) are listed several representa- 
tive sections of the Fibonacci series, and at (b) are shown several miscellaneous characteristics 
of the Fibonacci series abstracted from the mathematical literature. This series can be used as a 
basis for a random number generator, as described in the text. 



100 
110 
120 
130 
140 
150 
160 
170 
180 
190 
200 
210 
220 



two numbers and letting their sum be a new 
random number, and repeating this for our 
desired number of iterations. The reason 
that we'll use the Fibonacci series specif- 
ically, and not any other series, is that the 
characteristics of the Fibonacci series have 
been studied, and we know several facts 
about it that will be of interest. Table 1 
for example shows that if we want more 
than 60 single digit random numbers, the 
Fibonacci series isn't going to work. Of 
course we could start extracting 2 digit 
numbers from different parts of the num- 
bers produced, but here we're on our own as 
far as statistical characteristics are 
concerned. 



PRINT "HOW MANY NUMBERS DO YOU WANT?' 

INPUT J 

LET A = 10946 

LETB= 17711 

FOR I = 1 TO J 

LET N = A + B 

IF N< 100000 THEN 180 

LET N = N - 100000 

PRINT N 

LET A = B 

LET B = N 

NEXT I 

END 



Listing 4: A BASIC program which implements a Fibonacci series random 
number generation technique. The program works machines of finite 
precision (even though the Fibonacci numbers eventually get infinitely large) 
because only the low order digits are kept as part of the pseudorandom 
number. Since the high order portion of a Fibonacci number has no effect 
on the low order portion during calculation of the next number, it is possible 
to completely ignore the high order part. 



Listing 4 shows a BASIC program for 
calculating and printing "n" random num- 
bers of five digits each. Notice that the 
generator is seeded with two seeds from 
table 1. These could have been INPUT, of 
course, and in that way a different series 
of random numbers could be produced. 
I've chosen the first two 5 digit numbers 
in the sequence, but there is nothing special 
about them. Also, you might consider having 
the generator run through the loop a number 
of times before it starts printing the output. 
This could be easily implemented with 
another INPUT statement and another FOR 
. . . NEXT loop, or maybe by just adding the 
number of unwanted numbers to J, and then 
putting in an IF to suppress printing of the 
first J-N numbers. Listing 4 is straight- 
forward: after determining how many num- 
bers you want, it takes the two seeds and 
calculates the first number. It is possible that 
the result will be over five digits when the 
two previous numbers are added, but it can 
never be greater than 199998 (99999 + 
99999), so we check for this condition in 
line 160 and simply subtract 100000 if the 
number is larger than 99999. Lines 190 and 
200 serve to shift the second number into 
the location previously holding the first 
number, and the new random number into 
the location previously holding the second 
number, and we're ready for a new iteration. 

In order to find the n tn Fibonacci 
number, you needn't go up to "n" one at a 
time. There is an easier method, although 
you might not think so when you see the 
formulas in figure 2. You might try to find 
the 20 tn Fibonacci number with your 



240 lune 1979 © BYTE Publications Inc 



Circle 373 on inquiry card. 



SERVING SYSTEM SELLERS S OEVELOPERS 



BrUme 

iAUcboft/iccetoo>i 

<jo£tut<M/ie 



TSA SOFTWARE 

39 WILLIAMS DR. MONROE CT DB4B8 
203-2GI-7963 

NCC PERSONAL COMPUTING FESTIVAL BOOTH \4S 



Circle 175 on inquiry card. 

New North Star 
Software 

DOS + $35.00 

Enables any program to execute all North Star Disk and/or Meca Tape 
commands. Allows batch command list and more. 
PRO-TYPE WORD PROCESSOR $75.00 

Easy to learn. Combines text input, editing and printing in one program. 
Features right margin justification, tabs, paging, underlining, relocation 
of text blocks, etc. Requires only 8K of memorv. Manual alone, $25. 
GUIDE TO BASEX $33.00 

A new interactive compiler similar to BASIC for 8080-type 
microcomputers (Z-80. 8085). Executes programs up to 10 times faster 
than equivalent programs while requiring about half the memory space. 
Features include: array variables; string manipulation; arithmetic 
operations on signed 16 bit intergers; and versatile I/O communication 
functions. Manual alone $8. 

BASEX TAPE AND DISK GUIDE $35.00 

Allows your BASEX programs to access up to four North Star Disk 
and/or Meca Tape drives. All operations can be executed from the 
Keyboard. Manual alone $20. 

Specify: North Star Disk/Meca Tape/Other 
Send for Free Literature 

=m= 

lyjl 

INTERACTIVE MICROWARE INC. 

P.O. Box 77 1 , State College, PA 1 6801 

(814)238-8294 



HOW TO BUY 
A BUSINESS 
COMPUTER 




WHEN TO BUY • WHEN NOT TO BUY W\\ 

HOW TO CHOOSE CONSU LTANTS »DATA 

GATHERING • PACKAGED VS CUSTOM 

SOFTWARE -CONTRACTS • FINANCING 

• WARRANTEES AND MAINTENANCE • INSTALLATION 

MANAGEMENT AND MUCH MORE 

"SUPER BOOK!" DP Consultant, Mercer Island, Washington. 
"I wish I'd had this book before I bought my computer!" TV 
Station General Manager, California. 

"It's the best book I've seen on the subject. Send me 5 copies 
to send to my clients'" CPA, Orange County, California. 
"I really learned something from this book and I'm in the 
business. I'm recommending it to my clients." DP Consultant, 
Alhambra, California. 

Here's a straight forward approach to business computer 
purchase and installation. It will save you time and money. 
ORDER NOW! If not completely satisfied, return within 30 
days for a full and immediate refund. 

BYzx 11 Softbound ■ 178 pp. ■ $12.95 
Credit Card Orders 1-805-964-7448 



DDC PUBLICATIONS b 

5386 Hollister Ave., Santa Barbara, CA 93111 

Rush copies of "Winning The Computer Game" at $1 2.95 

per copy. (CA residents add 6% sales tax) 

NAME 

ADDRESS 

CITY/STATE/ZIP 

□ Check 
Card No. 



DMasterCharge 



□ Visa 
Exp. Date 



TRS-80 SOFTWARE 
32K with 2 DISK DRIVES 

PAYROLL SYSTEM $235 

Includes: a) File Maintenance 

b) Payday Entries 

c) Earnings Record 

d) Payroll Register 

e) Write Pay Checks 

f) Write Other Checks 

Handles up to 300 employees per diskette. 
Automatically calculates FICA, FED. TAX, 
UNEMPLOYMENT and much more. 

ALSO AVAILABLE 

ACCOUNTS RECEIVABLE $195 

ACCOUNTS PAYABLE $195 

INVENTORY CONTROL with 

BILLING & ACCT'S REC $550 

MANUALS $29.95/ea. 

CUSTOM PROGRAMS & OTHERS 

CAI 

1st Security Bank Bldg. 

3306 W. Walnut, Suite 507 

Garland, TX 75042 

PHONE: (214) 272-3211 

With money order or certified check, orders shipped within 

24 hours. 



Circle 96 on inquiry card. 



Circle 232 on inquiry card. 



BYTE June 1979 



241 



(a) 



(b) 



(c) 



1+VeT 



V^~ 






(Golden ratio) 



1-vT n 



+V5) 



12)' 



VT 



1 +v£" 



rounded to nearest 
integer. 



* h 



1.61803' 



Figure 2: The program of listing 4 was an iterative calculation. It turns out 
that there are several ways to calculate Fibonacci numbers directly which do 
not involve iteration. Formula (a) is an exact calculation of the n tn Fibonacci 
number. Formula (b) is also an exact calculation if the result is rounded to 
the nearest integer. Formula (c) defines a criterion for making the Fibonacci 
sequence pass various statistical tests which would otherwise fail: pick every 
k tn number where k is chosen so that the "golden ratio" to the k^n power is 
relatively large compared to the low order portion of the Fibonacci numbers 
which is used as a random number output. 



pocket calculator (or maybe your 
computer?) using formula a of figure 2. We 
know the answer is 6765, from table 1. This 
formula produces the exact answer, but we 
can get it with a little less calculation by 
using formula b in figure 2. The term 
(1 + \/5) / 2 is known in the mathematical 
literature as the "Golden Ratio" and is often 
symbolized by the Greek letter * (phi). 
If formula b is evaluated and then rounded 
to the nearest integer, it will produce F n . 
You might try this, again, with n = 20. 

The Golden Ratio assumes importance 
when using the Fibonacci series random 
number generator, because it is used as a 
"correction factor." The results of the 
generator, aside from being somewhat pre- 
dictable as shown in table 1, fail many of the 
statistical tests usually applied to random 
number generators. A big improvement can 
be made in the results if we use only every 
k trl number, where k is almost any number 



100 PRINT "INPUT ANY ODD INTEGER"; 

110 INPUT N 

120 LET X = N* 65539 

130 LET Y = X * 0.465661 28730773925781 25E-09 

140 PRINT X ; Y 

150 END 

Listing 5: A BASIC program to calculate one cycle of a pseudorandom 
sequence using the power residue method. This particular program is the 
algorithm used for a 32 bit machine as found in the IBM System 360 and 
370 "Scientific Subroutine Package, " IBM Publication Number H20-0205. 
In the source document cited, this algorithm is given as a FORTRAN sub- 
program named RANDU. 



which will make the Golden Ratio to the kth 
power relatively large. Figure 2c is the 
required formula. If this modification is im- 
plemented, and k is large, your calculating 
time for each random number that is to be 
used will greatly increase, but you'll have 
numbers that are about as good statistically 
as any other method. 

Power Residue Calculations 

A third general class of pseudorandom 
number generators is called the Power 
Residue Method. It is this method that is 
usually favored by hardware manufacturers, 
software writers and mathematicians, 
because long periods prior to repetition 
can be assured, and the numbers generated 
hold up well to statistical tests for 
randomness. The method is, however, 
machine dependent since it relies on the 
word size of the machine. The Power 
Residue Method is the method employed 
in RANDU, an extremely popular random 
number generator appearing in the "Scien- 
tific Subroutine Package" (IBM publication 
number H20-0205) for the IBM System 360 
and 370 computers. The publication gives a 
FORTRAN listing of this subroutine and 
documentation on how to use it, and also 
delineates a FORTRAN listing and instruc- 
tions for use of GAUSS, which is a program 
for producing a normal distribution of 
random numbers. The methods can easily 
be extended to distributions other than the 
normal. Background on the number theory 
aspects of the Power Residue Method can 
be obtained in another IBM booklet, 
"Random Number Generation and Testing" 
(IBM publication number (C20-801 1). 

Listing 5 shows a BASIC version of a 
program to produce one random number on 
a 32 bit machine. The program can be easily 
modified, of course, along the lines we 
followed for the center squared and 
Fibonacci methods covered earlier. The 
multiplier in line 130 is 2~^< and of course 
you'll be rounding it to fit your particular 
BASIC compiler. Line 130 simply trans- 
forms our new random number X into a 
floating-point version between and 1, 
which is a more usual way of delineating 
random numbers. With a 32 bit machine 
(1 sign bit) we use 2~ "', and this would 
be changed to correspond to the particular 
machine upon which the method is 
implemented. The multiplier in line 120 is 
also machine dependent. It has the form: 
8i ± 3, where / is any integer. The trick here 
is to choose /, such that the resultant multi- 
plier is close to 2"l*. Since b = 32 for this 
example (b is the number of bits), then we 



242 June 1979 © BYTE Publications Inc 




PRICE: $129.00 

We also carry the SYM-1 
Microcomputer with manuals $269.00 



Circle 326 on inquiry card. 

VAK-1 MOTHERBOARD 

• Designed specifically for use with the AIM-65, SYM-1, and KIM-1 microcomputers 

• Standard KIM-4* Bus 

• Fully buffered Address and Data Bus 

• Provides 8 expansion board slots 

• Complete with rigid card-cage 

• All IC's are socketed 

• Provides separate jacks for one audio-cassette, TTY, and Power 

• Completely assembled (except for card-cage) 

We manufacture a complete line of high quality expansion boards. Use reader service 
card to be added to our mailing list, or U.S. residents send $1.00 (International send $3.00 
U.S.) for airmail delivery of our complete catalog. 
'Product of MOS Technology 



J]rnb> 



ENTERPRISES 

INCORPORATED 



2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564 



want the multiplier to be close to 2'° 
= 65536. If/ = 8192, then the multiplier will 
be 65536+3=65539. The seed multiplied by 
the multiplier produces a product which is 
2b bits long and we discard the b high order 
bits, and the remaining b low order bits 
become the random number and the input 
seed for the routine for the next number. 
Using this method we will get 2"~2 terms 
before repeating. Actually, the sign bit 
doesn't count, so we'll have 2-*' "" * or 
2 , or over half a billion numbers before 
repeating. I'm not about to try and prove 
this, but I will give it a "go" with a smaller 
machine assumed. 

Let's assume a 6 bit machine. This should 
produce 2" ^ , or 2^ = 16 numbers before 
repeating, and that shouldn't be too dif- 
ficult to inspect manually. We want a multi- 
plier of the form 81 ± 3 which is close to 
2b/2 - 2 6/2 = 2 3 = 8. If / = 7, we'd have 
8X1+3=11 and 8X1-3= 5. Both of 
these possibilities are equally 3 away from 
our desired value of 8, so let's try both. 
Table 2a shows how we get started using 
5 as the multiplier, and table 2b shows 
the whole cycle of all 16 numbers produced. 
Table 2 also shows that if we had chosen a 
multiplier of 11 the procedure would 



also have produced 16 numbers before 
repeating. 

You've probably noticed that the two 
columns of numbers in table 2 just don't 
look too random. Both columns have num- 
bers that always end in 1. For the 11 mul- 
tiplier case, the 4 tn digit is always 0, and 
the 5 tn digit alternates between and 1. 
For the 5 multiplier case, the 5 tn digit is 
always and the 4 t ' 1 digit alternates 
between and 1 . Obviously the low order 
bits are far from random. If you wanted 
random digits, and not random numbers, it 
would obviously be to your advantage to 
choose high order bits, or possibly the bits 
you discarded when you cut the product 
from 12 to six bits. The usual scheme, after 
developing the numbers in table 2, would be 
to place the binary point at the beginning of 
the 6 bit numbers, and thereby transform 
the whole list to a distribution between 
and 1. 

Testing Randomness 

Tests of the randomness of a series of 
numbers usually fall into one of two major 
categories, those that examine the digits 
appearing in the numbers and those that 



KIM ANALOG INPUT 

Analog to Digital Conversion System for the KIM Computer 



dive the KIM the ability to sensei 
niessurei and control the uorXd around 
it with DAM SYSTEMS nodules. Just. Plus* 
the KIMSET1 into the KIM to stet 16 
channels of analog input. Screw 
terminals are provided for each channel 
so you can hooK up JoysticKs* pots* or 
whatever appropr iate sensors you have. 

Each of the 16 analos inputs* in 
the ransie of to S.12 volts* is 
conver ted to a decimal nunber between O 
and 255 (20 millivolts per count). 
Conversion time is 100 microsconds. 

The KlMMOEi provides one user port 
as well as a DAM SYSTEMS port. 

Software is provided. 



Og^ ! 




- 24 INCH INTLOCONNECT CABLE 



3 [' 



INTERFACE MODULE 



K1MSET 1 
1 -AIM1 81 - 16 ANALOG INPUTS - 8 BITS ■ 100 MICROSEC 

I-KIMMOD 
I -CABLE A24 
1-yANUOD1 

1-P0W1 - POWER MODULE 

KIMSETIo for 110 VAC $289 
KIMSETU (or 230 VAC $ 295 

Ordar direct or conlkct your loc.il computir nor. 

CONNECTICUT microCOMPUTER, Inc. 

750 POCONO ROAD 
BftOOKFIELD, CONNECTICUT 06804 
TEL: (203) 775-9659 TWX: TLX: 7104560052 

VISA AND M/C ACCEPTED- SEND ACCOUNT NUMBER, EXPIRATION DATE AND SIGN ORDER. 

ADD S3 PER ORDER FOR SHIPPING h HANDLING- FOREIGN ORDERS ADD 10% FOR AIR P0STA0E 



Circle 78 on inquiry card. 



lune 1979 © BYTE Publications Inc 



243 



(a) 

1 . Choose an odd integer starting value. We'll choose the 6 bit number 1 00001 (simply 
because it'll be easy to multiply). 

2. Choose the multiplier. (We've already decided on 5, binary 101.) 

3. Compute the product. (100001) * (000101) =000010100101 

4. Cross out the first six bits, and you have the new number. 

000010 100101 = 100101 

5. (100101) * (000101) = 0000101 11001 = 111001 

6. (111001) * (000101) = etc. 



(b) 

Starting seed 

n(1) 

n(2) 

n(3) 

n(4) 

n(5) 

n(6) 

n(7) 

n(8) 

n(9) 

n(10) 

n(11) 

n(12) 

n(13) 

n(14) 

n(15) 

n(16) 



Multiplier = 5 
(0001012) 



Multiplier = 11 
(0010112) 



"\ 



100001 

100101 
111001 
011101 
010001 
010101 
101001 
001101 
000001 
000101 
011001 
111101 
110001 
110101 
001001 
101101 

100001 



^ 



-^~ 100001 

101011 
011001 
010011 
010001 
111011 
001001 
100011 
000001 
001011 
111001 
110011 
110001 
011011 
101001 
000011 

a » 100001 



Table 2: The power residue method, adapted to a 6 bit example with two 
possible multipliers. The algorithm is shown at (a), and the complete set of 
16 pseudorandom output states is listed in this table at (b). Note the devia- 
tions from randomness apparent in the regular patterns seen in the two low 
order bits of each number. 

treat the numbers as points in the interval 
to 1 . Some tests can handle either case, of 
which the Chi-square test is one. It can be 
applied directly to the digits produced, or to 
groupings of the digits, or we can divide the 
interval to 1 into subintervals and see how 
many of the random numbers fall into each 
of the subintervals and apply the Chi- 
square test to see if the distribution is 
biased. 



The Chi-square (symbol X^) statistic 
looks somewhat formidable, but in reality 
is easy to work with. The formula is: 



X2 



k 

2 

i=1 



(oi 



ei) 



K 



where e; is each expected frequency, and Oj 
is the actual observed frequency. If we had a 
generator which produced 250 digits we 
would expect each of the digits through 9 
to appear 25 times, although the digits might 
actually appear more or less than 25 times. 
Assume that your random number generator 
has just produced a series of 500 digits. You 
count all the zeros, ones, etc, and tabulate 
these observed frequencies (as in table 3) 
along with the expected frequency in each 
case of 50. You have counted 58 zeros, 
28 ones, etc. You next put these observed 
and expected frequencies into the X^ 
formula and arrive at an answer of 46.45 as 
shown. At this point we need to turn to a 
Chi-square distribution table, which can be 
found in the back of almost any statistics 
book. Table 4 shows a portion of such a 
table and will suffice for most of our needs 
for uses like this application of the Chi- 
square statistic. The table is entered after 
you calculate the "degrees of freedom" in 
the column labeled "v" and after you 



Digit 





1 


2 


3 


4 


5 


6 


7 


8 


9 


Sum 


Observed 
frequency 


58 


28 


40 


34 


70 


62 


72 


36 


40 


60 


500 


Expected 
frequency 


50 


50 


50 


50 


50 


50 


50 


50 


50 


50 


500 



X 2 



(58-50) 2 (28-50) 2 (40 - 50) 2 



50 



50 



50 



(60 - 50) 2 
+ — = 46.56 



50 



Table 3: A random number sequence can be tested with various statistical measures. One 
excellent test is the Chi-square test, here illustrated with a hypothetical single digit decimal 
random number generator with the observed frequencies shown in a trial of 500 cycles of 
calculation. If the result were truly random, of course, the expected frequencies of each digit 
would be uniform. The Chi-square test involves calculating the characteristic number shown 
by the formula here (using this table's data). This characteristic number is then used with a 
statistical reference table of the Chi-square distribution and the number of degrees of freedom 
allowed by the statistics (here v=9), to check the quality of the pseudorandom sequence. 



244 |une 1979 © BYTE Publications Inc 




SCIENTIFIC 
SOFTWARE 



DPFUN is a 16-digit preci- 
sion scientific subroutine 
package written for Micro- 
soft extended & disk BASIC interpreters, including 
TRS-flO level II BASIC. The thirteen double- 
precision exponential, logarithmic, trigonometric 
& inverse trigonometric functions provide a 
valuable utility for serious engineering & scien- 
tist applications, 

DP! UN uses truncated continued fraction 
algorithms that fully exploit the precision 
available in 64-bit binary floating point notation. 
The code has been optimized for speed & is 
designed to be easily appended to& called by any 
user program. The complete set of BASIC 
subroutines occupies 2.5K. 

DPFUN source code, only $10 ppd. 
DPFUN on 8-inch CP/M disk, $20 ppd. 

Miken Optica! Co. 

53 Abbett Ave. 

Morristown, NJ 07960 

(201) 267-1210 



Circle 234 on inquiry card. 



cc 



/ f 



RECREATIONAL 
PROGRAMMER 



A 



QUALITY SOFTWARE! 

Tl & HP Programmables 
BASIC for most computers 



LU 
Q_ 



O 
CO 

(/) 

CC 



GAMES ALGORITHMS- PUZZLES 
STOCK ANALYSIS- AND MORE! 

OVER 30 PAGES BIMONTHLY! 

ANNUAL SUBSCRIPTION ONLY 
S12 within USA & APO/FPO's 

S24 Foreign by AIRMAIL 
Single issue for S3 incl P&H 

VISA and MASTERCHARGE OK! 
CALL (616)343-3546 NOW! 
Box 2571 Kalamazoo Ml 49003 




TRS-80 disc software 

WORD PROCESSOR Avoid work processor 

converted from other system. Hard to load 

object file & cannot store text in disk. Ours is 

specifically designed for the TRS-80. Written in 

BASIC. No special hardware and text limit. $39. 

INVENTORY While others use inefficient 

sequential file, we use 9 -digit key for fast on-line 

random access. Reports give order info, 

performance summary, etc, $39. 

MAIL print report & labels sorted by any field. 

Random access, special buffering technique. 

$35 

DATA BASE MANAGER You can maintain a data 

base S. produce reports without any 

programming. Define fields, types, screen S. 

report formats on-line. Almost use up the 

required 32K memory. $49. 

KEY RANDOM ACCESS UTIL hashing, blocking, 

buffering, auto I/O error retry. Put your disk into 

optimal use. $19. 

ACCOUNT manage client accounts & account 

receivable. Remark fields for general use. 

Automatic billing & transaction recording. 32K 

req. $59. 

Full documented. Fast delivery. Our competitors 

offers $99 cassette word processor, $90 'on 

memory' inventory, inflexible mail system, 1BK 

data base. 

MICRO ARCHITECT 

96 Dothan St., 
Arlington, MA 02174 



Circle 214 on inquiry card. 



MAXIMUM VALUE 
FOR YOUR DOLLAR 

NORTH STAR COMPUTER PRODUCTS 

HORIZON1 16KKIT $1275.00 

1 6K RAM BOARD KIT $ 250.00 

32K RAM BOARD KIT $ 475.00 

VERBATIM DISCS FOR NORTH STAR 

BOX OF 10 $29. POSTPAID 

COMPLETE SYSTEMS AVAILABLE 

CUSTOM SOFTWARE FOR NORTH STAR SYSTEMS 

CASIO CALCULATORS 
AT DISCOUNT PRICES 

MANY OTHER SUPER VALUES 
WRITE OR CALL: 

A.E.I. 

3851 HACKETT AVE. 

LONG BEACH, CALIF. 90808 

(213)421-4815 (213)429-0535 



save more than 20%! 
NORTH STAR XITAN 

the smartest computers at the smartest price 
DOUBLE DENSITY 

HORIZON-1-16K kit, list $1599 $1279 

Assembled & tested, list $1899 $1519 

HORIZON-2-32K kit, list $2249 $1799 

Assembled & tested, list $2549 $2039 

PASCAL for NORTH STAR on Disk $49 

Powerful NORTH STAR BASIC FREE 

XITAN computers -NOW-With 
QUAD DENSITY DISKS! 

Famous XITAN Software & BASIC FREE 

HORIZON & XITAN are S-100, Z-80-THE BEST 

INTERTUBE II Terminal, list $995 $795 

NEW: Our VIDEO BOARD CODE on Disk! Now you 
can run our computers on a TV! Save $HUNDREDS 

TV Code on DISK $10 LISTING FREE 

Business Software, Terminals, Printers, Com- 
puters in stock & special-ordered. Other 
brands at good discounts. Ask! Which Com- 
puters are best? 
BROCHURE FREE 

AMERICAN SQUARE 

COMPUTERS 

KIVETT DR, JAMESTOWN NC 27282 

(919)883-1105 



Circle 5 on inquiry card. 



ELECTROSENSITIVE 
PAPER 



MANUFACTURED TO SPECS 

OF AXIOM, CENTRONICS, 

SCOPE, UNIVAC, RADIO 

SHACK, etc. 



CALL: 
301/840-954S 



GENERAL SCIENTIFIC CORP 
PO BOX 8148, MVS 

GAITHERSBURG, MD 20760 



VISA 



MASTER CHARGE 



Circle 21 on inquiry card. 



Circle 143 on inquiry card. 



Scotcli 



BRAND 



Diskettes 



Order Direct: 

2 for $11.75 

5 for $26.45 

10 for $49.75 (Hard Box) 

Price Includes Shipping 

(Hawaii, Alaska & Canada add $1.00 shipping) 
VISA, Master Charge. Check, Money Order 

740-0 - 8" Soft Sector 
740-32 -8" Hard (32) Sector 
744-0 - 5" Soft Sector 
744-10- 5" Hard (10) Sector 
744-16- 5" Hard (16) Sector 



Mass. residents add 5 % soles tax. 



cpu 

I 99F 



COMPUTER 
PACKAGES 
UNLIMITED 



99 Reservoir St. Holden, MA 01520 

(617)829-2570 Div. olSCB Inc. 



r — ——-_-. 


j (• APPLE )[ 


1 SUPER SALE 


| 16K Apple II $1029.95 j 


Integral Data 

IP225 Printer 

with graphics $1095.00 

Apple Soft Cards $159.95 

Carrying Case $29.95 

Super Mod $29.95 


Printers— call for price 


UCATANCORP. 

P.O. Box 1000 

Destin, Fla. 32541 

904-837-2022 


| Cred it Cards Accepted | 



GLARE FILTER 

HIGH CONTRAST 

SHARP RESOLUTION 

MICRO-POROUS OPTICAL FILTER 

FOR HOME COMPUTER CRT'S 



With Filler 



TRS80 16.95 PET 12.95 

ADM3A 16.95 Some 10 120 16.95 

Hazeitine Southwest Tectt. 16.95 

1400-1500 16.95 Micro-Term 

Perkin Elmer 16.95 Act V 16.95 

Easily Installed • Instructions Included 

For information on other models 

dial (41 S) 456-8909 

SUN-FLEX COMPANY, INC. 

3020 Kerner Blvd. • San Rafael, CA 94901 
Check/money order Visa/Mastercharge 




Circle 67 on inquiry card. 



Circle 380 on inquiry card. 



Circle 358 on inquiry card. 



Table 4: An abbreviated 
portion of a standard 
Chi-square table used as 
described in the text to 
check the quality of a 
pseudorandom sequence. 



Figure 3: Several formulas 
for the run test of a 
pseudorandom sequence. 



V 


x2 995 


x2 99 


x2 95 


x2 90 


x2 75 


1 


7.8S 


6.63 


3.84 


2.71 


1.32 


5 


16.7 


15.1 


11.1 


9.24 


6.63 


9 


23.6 


21.7 


16.9 


14.7 


11.4 


10 


25.2 


23.2 


18.3 


16.0 


12.5 


19 


38.6 


36.2 


30.1 


27.2 


22.7 


24 


45.6 


43.0 


36.4 


33.2 


28.2 



determine the level of significance you 
want to test. The degrees of freedom in our 
case are 1 — 1 =9. This simply means that 
after we have determined nine of the ob- 
served frequencies, the 10 tn one is fixed. 
The frequencies have to add to 500, so we 
have "nine degrees of freedom." Tradi- 
tionally, the Chi-square statistic is used to 
test the hypothesis that the numbers are 
randomly distributed. If the computed 
value of Chi-square is greater than the 
critical value read from the table, we would 
then conclude that the observed frequencies 
differ significantly from the expected 
frequencies and we would reject the hy- 
pothesis of randomness at whatever level of 
significance we select. The levels of signi- 
ficance often used are 0.05 and 0.01, corres- 
ponding to the X2 _g5 and X2 99 columns 
respectively, in the table. Going back to our 
example, we calculated a value of 45.56, 
but in the table for nine degrees of freedom 
and at the .01 level of significance, we 
see that the critical value of Chi-square is 
21.7. Since 46.56 > 21.7 we therefore 
conclude that the observed distribution of 
numbers produced by our generator differs 
significantly from the expected distribution 
at the 0.01 level of significance, and we 
therefore cast considerable suspicion on our 
random number generator. As previously 
mentioned, we could take our list of gener- 
ated numbers in the to 1 interval and set 
up some subdivisions of this interval. Next, 
we could see how many of the numbers fell 
into each subinterval, calculate the ex- 
pected frequency for the subintervals, and 
apply the Chi-square test in the same 
fashion. 

A second test frequently applied to 
random numbers is called the "poker test," 
but is in reality similar to the frequency test 
already considered. In the poker test we 



Run length 


Formula 




1 
2 


(5n + 1) /12 
din- 14) /60 




k (for k<n- 1) 


2 | (k2 + 3k + 1)n- (k 3 +3k 2 - k- 


-4) [ /(k + 3)! 


n- 1 


2 /n! 





look for specific combinations of digits. 
For example, suppose we are generating 
5 digit integer random numbers in the 
interval 00000 to 99999. Probability theory 
tells us the number of numbers we should 
have where all digits are the same, like 
22222 or 66666 etc. We can also calculate 
the expected number of pairs, three-of-a- 
kind and full houses, etc. The Chi-square 
test can be applied to the analysis of the 
results. 

A very similar test, called the "gap test," 
can be applied in like manner to the dis- 
tances separating two like digits or two like 
groups of two or more digits. Again, Chi- 
square is a useful statistic in the analysis of 
these findings. The power residue method 
satisfactorily passes the poker test, the gap 
test and the usual frequency test; however 
it often fails to pass tests which consider 
runs of numbers. We've already seen how 
the power residue method produces certain 
predictable results, so this should not come 
as a surprise. However, if we are generating 
random numbers instead of random digits, 
this is not a big problem. A study of the 
runs up and down is often a good test to 
determine which multipliers are better than 
others when you use the power residue 
method, and the "run test" will also con- 
sistently prove that the Fibonacci series 
method will not produce the predicted 
number and lengths of runs. Taking, for 
example, a long string of random generator 
produced bits, we would count the num- 
ber of strings of zeros bracketed by ones 
for each length, from one, on up to the 
longest string length. Number theory helps 
us determine the number of total runs we 
should have for both the ones and zeros. 
Figure 3 shows how to calculate these 
lengths, assuming "n" bits. There are several 
special tests similar to the run test, for 
example: "runs above and below the mean," 
etc. And, as usual, the Chi-square test is 
frequently applied to see if the actual results 
are reasonable. 

I can't guarantee all of the above will help 
you program your computer to play inter- 
esting Star Trek or sophisticated One- 
Armed-Bandit games but at least you'll be 
able to come up with generators that are 
biased in your favor." 



246 June 1979 © BYTE Publications Inc 



^ Year-End Clearance! ^ 



CRT's 



595 



We Buy-Sell-Trade all brands & 
models of Data 
Processing 
Equipment. 



jl^ 




I 



Hazeltine 2000 110 thru 9600 
Baud Editing Detached Keyboard 
TTY or Batch Modes 74 Col. x 24 Lines 
Format, Auto-Tab 

Nearly a million dollars in inventory 

Call for price quotes 

214/357-5725 

U.S. BROKERS INC. £ 

A Division of CM Corp. V 

2636 Walnut Hill Lane X 

Suite 347 \ 

fj Dallas, Texas 75229 \ 



I 





The best choice 
in mainframes ! 

• S100CARO FRAME • AXIAL BLOWER 

• 22 MH/ 12" CRT MONITOR • ASSEMBLED & TESTED 

• 18 AMP POWER SUPPLY • READY FOR YOUR CARDS 

• UPPER & LOWER CASE • S995.00 
ASCII KEY BOARDS 

VERY A TTRACTIVE O.E.M AND 
DEALER DISCOUNTS AVAILABLE. 

MBH INFINITE INCORPORATED 

1921 WAVER LY PL.. MELBOURNE. FL 32901 -PHONE (30<i) 724-1588 



Custom Built 

Computer 

Desks 




We custom build each com- 
puter desk to individual customer re- 
quirements. All surfaces are Formica; many 
wood grains & solid colors available. Send 
us your design, or let us design a module for 
you. Priced from $215. Call or write: 

GOWAN INDUSTRIES 

PO Box 470 

Zoar, Ohio 44697 

(216)874-3666 



Circle 383 on inquiry card. 



Circle 177 on inquiry card. 



Circle 154 on inquiry card. 



APPLE II 
TINY BUSINESS SOFTWARE 
ACCOUNTS RECEIVABLE - 100 cus- 
tomer accounts max, 8 transactions/ 
month/customer (typical), month end 
and individual postings, automatic 
interest calculations. $75.00 

ACCOUNTS PAYABLE - 100 payable 
accounts max, 8 transactions/ 
monthly/payabie (typical), month end 
posting. $75.00 

PERPETUAL INVENTORY CONTROL - 

100 suppliers, 900 individual inven- 
tory items, heuristic reorder pro- 
cedure. $100.00 

All of these programs have random record 
access, easy addition and deletion of items, 
password protection on sensitive procedures. 

MIN. REQUIREMENT 48K APPLE II, one disk 
OPT. REQUIREMENT 48K APPLE II, two disks 
These procedures for screen environment, 
printer options available soon. 
DOCUMENTATION only for the above $ 1 ea. 
CHECK OR MONEY ORDER ONLY 
1 DEALER INQUIRIES WELCOME 

EI CUSTOM COMPUTING 



(an S7K 2flS — (306) 242-7808 




apple tv & computing 
GRAND OPENING SALE! 

An introductory sale! Every PET ordered 
this month will come with Full size . . 

BIG KEYBOARD ONLY $895 

or, the standard 8k PET $775 

NEW!! . . . PET MiniFloppy $595 

16 K and 32 K PET NOW AVAILABLE 

PET 202 1 Printer $549 

80 column electrostatic with full graphics 

PET 2022 Printer $995 

Forms tractor and graphics 

Dual Drive Floppy for PET $1 295 

TRS 80 toS100 Interface (Kit) $190 

We Have The BALLY Computer System 
And SOFTWARE for BALLY BASIC on 
audio cassettes. Write for list of titles 



apple tv & computing 

(213) 559-4268 

2606 S. Robertson Blvd. 

Los Angeles, California 90034 




Circle 72 on inquiry card. 



Circle 10 on inquiry card. 



yi :lWfMM¥fl. 



64K RAM BOARD 

The Zg-SYSTEMS 64K RAM board is designed to op- 
erate in any Z80 based microcomputer having S-100 
bus. It uses 16K dynamic HAM chips, & features: 

— Board select 

— Bank select 

— Transparent on-board refresh 

— 2 or 4MHz operation (w/ no wait state) 

— Memory disable 
Compatible with Cromemco system 

Fully assembled, burned in, & tested 

Available from stock to 60 days 
As low as $500.00 in quantities of 100 

Price of one $649.00 

PC board only $59.00 

With 16K RAM $359.00 

Plus shipping charges 

z s SYSTEMS 

PO Box 1847, San Diego, C A 92112 
(714) 447-3997 

Circle 401 on inquiry card. 



FOR TRS-80 ™ OWNERS 

T-PAL 

Programming Amateur's Letter 

THE "DO-IT-YOURSELF" 
SOFTWARE NEWSLETTER 

Published Monthly, We'll Teach You 
All The Latest Wrinkles — How To Get 
The Most Out of Your Computer 

Graphics • Games • Personal 

Home • Business • Finance 

And Much More! 

$24/year ... or write for FREE Details 

THE MAIL MART 

Box B 11102 San Francisco, CA 94101 



EPROM 
PROGRAMMER 




The EDD 1001: 

• Programs 2704.2708.TMS2716, 12716, I2758 

• Plugs into your empty EPROM socket 

■ Is provided with complete driver listing for 

8080/Z80 systems lalso available on EPROM I 

■ Requires external 30-37V unregulated 



EDD 1001 EPROM Programmer Kit 
Driver program on EPROM 
Manual only (refundable with order I 
ICA residents add 6% sales taxi 

EPOCH DATA DEVICES 

PO. Box 2 2037 

San Diego, CA 92122 

1714] 481-1753 



S75 ppd 

$25 

$4 



Circle 199 on inquiry card. 



Circle 132 on inquiry card. 



6800 SS50 16K SYSTEMS 

Includes: Mainframe cabinet, mother board, power 
supply, fan, CPU, 16K static RAM. and choice of I/O 

card $1294.29 

Other packages available. 

16K STATIC RAM BOARDS — SS50 

Gold Bus connectors — DIP switch controllable 
addressing, write protect and enabeling of each 4K 

block. Tested at 2 MHz Assembled $298.13 

Above but socketted and with software control registers. 
Assembled S368.16 
TI TMS 4044' s: 

450 ns $5.00 each 

250 ns $6.00 each 

2708's $7.90 each 

These are factory prime chips from siime shipments we use in 

our professional quality boards 

Add $10 handling on orders under S200. 



cimix 




inc. 



1337 W. 37th Place • Chicago, IL 60609 
(312)927-5510 • TWX 910-221-4055 

The Company; that delivers. 

Quality Electronic products since 1975. 
G1MIX" ami GHOST" are registered trademaite of GtMIX INC 



Circle 144 on inquiry card. 





$100 


Melissa^B 




JT/^j w^&iffl 


n. 


Ifgl^ 






IK. m^^ ^~a 




Hln{|k|^^p^^^*^HB 




^Kr^^S»!??^a^^x 








KcOLORING j8j 


K^ 


took ^yi 




^^jpre J. Cohen and Jacqueline H. Bray 





A 32-page Coloring 
Book about 
Computers 

written and illustrated 
by Theodore Cohen 
and Jacqueline Bray 



The Magic Machine is an introduction to computing for 
young children. The drawings and text show how two children 

find uses for a computer in their home. 

The Magic Machine will help the child in your life to 

understand some of the functions of computers in his 

world, and to better understand the importance of computing 

in your world. 

The Magic Machine comes COMPLETE WITH CRAYONS, 

and is lots of fun to color and read. 



ISBN 0-931718-17-1 



$2jOO 



Buy this book at your favorite computer 
bookstore or order direct from BYTE BOOKS 
Add 50c per book for postage and handling 




BUI 

MUMS 




"BOOKS OF INTEREST TO COMPUTER PEOPLE" 

70 Main Street, Peterborough, New Hampshire 03458 



248 BYTE June 1979 



Circle 36 on inquiry card. 




The Physicians Microcomputer Report 

The Physicians Microcomputer Re- 
port is a monthly publication for doc- 
tors who wish to become better informed 
about the computer and its application 
in the field of medicine. Some of the 
features include: software news, cal- 
culator corner, computers in patient 
health care, microcomputer hardware 
news, the bargain market, and computer 
articles of special interest to the physi- 
cian. Additionally, the report contains 
articles on nonmedical applications such 
as linking your computer to a stock 
portfolio information center. Another 
intent of this publication is to facilitate 
the exchange of information between 
physicians who own computers. For this 
purpose the magazine has a listing of 
user groups. 

The Physicians Microcomputer Re- 
port is available for $25 a year and 
$ 12.50 for students. Contact Dr Gerald M 
Orosz, POB 6483, Lawrenceville NJ 
08648. 

Circle 591 on inquiry card. 



Attention Readers, and 
Vendors. . . 

Where Do New Products Items 
Come From? 

The information printed in the 
new products pages of BYTE is 
obtained from "new product" or 
"press release" copy sent by the 
promoters of new products. If in 
our judgment the information 
might be of interest to the per- 
sonal computing experimenters 
and homebrewers who read 
BYTE, we print it in some form. 
We openly solicit releases and 
photos from manufacturers and 
suppliers to this marketplace. The 
information is printed more or 
less as a first in first out queue, 
subject to occasional priority 
modifications. While we would 
not knowingly print untrue or 
inaccurate data, or data from 
unreliable companies, our capa- 
city to evaluate the products 
and companies appearing in the 
"What's New?" feature is neces- 
sarily limited. We therefore can- 
not be responsible for product 
quality or company performance. 



Complete Microcomputer System 
from Gimix 

Gimix Inc has announced its com- 
plete System 68 microcomputer. It 
features the following: a ferro-resonant 
constant voltage power supply; an SS-50 
motherboard (15 50 pin and eight 30 
pin gold plated slots); a 6800 processor 
board that holds four 2708s and three 
independently programmable software 
timers; the Gimix 16 K byte software 
readdressable static programmable mem- 
ory boards organized into four sepa- 
rately controllable 4 K byte blocks, 
which allows the user as much memory 
as can be contained in the mainframe. 

Dual-in-line package switch features 
allow use of existing SwTPC and MSI 
compatible software. The system is video 
based using the Gimix video board and 
advanced GMXBUG 3 K byte read only 
memory monitor that contains the stan- 
dard utility functions plus routines that 
facilitate software development. 

The price of $1395 includes the 
motherboard, switches, fan, power sup- 
ply, video board, 3 K GMXBUG version 




2, 8 K byte static programmable mem- 
ory, 2 port parallel I/O (input/output) 
board, cable and two disk regulator 
board. For further information, contact 
Gimix Inc, 1337 W 37th PI, Chicago IL 
60609. 

Circle 590 on inquiry card. 



TRW LSI Products Introduces New 
Generation of Multipliers 

A new series of monolithic mul- 
tipliers, designated the MPY/HJ series, 
provide n by n bit multiplication of 
24, 16, 12 and 8 bit numbers. All four 
multipliers have improved input registers 
that feature simplified clocking so that 
no data-hold time (clock overlap) is 
necessary. The three largest multipliers 
(MPY-24, -16 and -12HJ) feature im- 
proved output registers that can be 
made transparent for asynchronous 
output. They also feature a program- 
mable selection of output product 
formats and can intermix two's comple- 
ment numbers with numbers in absolute 
magnitude in the same operation. 

All the new circuits are plug compat- 
ible with their first generation counter- 
parts. Inserting one into a socket wired 
for an /AJ device automatically masks 
out the new /HJ features while still 
providing faster operation and reduced 
power consumption. 

The MPY-24HJ contains a new shift 
and normalize feature, and yields a 48 
bit product in 200. ns. The MPY-24H) 
is supplied in a standard 64 pin dual-in- 
line package. The MPY-16HJ produces 
a 32 bit product in 100 ns and is pin 
compatible with the older 16 bit multi- 




pliers. Like the MPY-24HJ, it can be 
expanded to operate on 32, 48, 64 and 
larger numbers. The MPY-12HJ multi- 
plies a pair of 12 bit numbers and yields 
their product in 80 ns. It is ideal for 
digital signal processing applications 
such as fast Fourier transforms and 
digital filters. The MPY-8HJ produces 
a 16 bit product in 65 ns. A fast version 
of the 8 bit multipliers called the MPY- 
8HJ-1 is being offered. It produces 
a 16 bit product in 45 ns and is intended 
for use in digital television systems. 
Prices are $59 for the MPY-8HJ; 
$71 for the MPY-8HJ-1; $103 for the 
MPY-12HJ; $157 for the MPY-16HJ 
and $310 for the MPY-24HJ. For 
more information, contact TRW LSI 
Products, POB 1125, Redondo Beach 
CA 90278. 

Circle 592 on inquiry card. 



June 1979 © BYTE Publications Inc 249 



What's New? 



MISCELLANEOUS 



Zilog Announces Availability of 16 
Bit Z8000 Microprocessor 




Zilog Inc has announced the availa- 
bility of a Z8000 microcomputer pro- 
cessor circuit that offers users the archi- 
tectural resources of mini and large 
mainframe computers in a single circuit 
device. The processor is available in two 
versions: the Z8001 in a 48 pin ceramic 
dual-in-line package that allows the user 
to address up to 8 M bytes of memory; 
and the Z8002 in a 40 pin ceramic dual- 



in-line package. The 40 pin Z8002, 
designed for smaller, less memory in- 
tensive applications, is compatible with 
the 48 pin Z8001, but the 40 pin pro- 
cessor's addressing is limited to 64 K 
bytes in each of its 6 address spaces. 

A scaled N/MOS depletion load sili- 
con gate device, the Z8000 processor 
densely packs 17,500 transistors on a 
device which is 238 by 256 mils. The 
Z8000 is designed for both minicom- 
puter and microcomputer applications. 
The Z8000 contains 24, 16 bit registers 
that reduce the number of memory 
references needed in programming. Six- 
teen of those registers are general pur- 
pose. The Z8000's problem solving 
instruction set supports seven different 
data types from single to 32 bit words, 
has 8 addressing modes, and 418 usable 
op code combinations. 

Pricing for the Z8001 is $195 for 1-9 
pieces, $162.50 for 10-99 quantities 
and $140 for lots of 100 and up. The 
Z8002 sells for $150 for 1-9 quantities, 
$125 for 10-99 pieces, and $107.10 for 
lots of 100 and up. For further infor- 
mation contact Zilog, 10340 Bubb Rd, 
Cupertino CA 95014. 

Circle 61 5 on inquiry card. 



28 Page Brochure on Computer Graphics 
and Imaging 




Lexidata Corporation, 215 Middlesex 
Turnpike, Burlington MA 01803 offers 
a free 28 page brochure describing the 
relative advantages of various display 
technologies and comparing them to its 
new System 3400 Video Image Processor. 
Interfacing, system software, application, 
and hardware options are covered in 
detail. 

Circle 618 on inquiry card. 



New Software Compatible With Any 
Z-80 or 8080 CP/M System 




Circle 616 on inquiry card. 



Graham-Dorian Software Systems has 
developed four complete software pro- 
gram packages for payroll, inventory, 
cash register, and apartment management. 
All programs are compatible with any 
Z-80 or 8080 CP/M system, and can be 
ordered in eight inch (double or single 
density) or five inch floppy disks. Each 
program package contains a disk with 
CBASIC-2 compiler, CBASIC-2 run 
command, the Graham-Dorian software 
program in INT and BAS file form, plus 
a users manual and hard copy source 
listing. The four programs sell for $695 
each. One CBASIC-2 is free with a 
program order, others cost $89.95 each. 
For further information contact Graham- 
Dorian Software Systems, 211 N Broad- 
way, Wichita KS 67202. 



Text Processing Software 

Digitan Systems Inc has announced a 
text processing system which uses special 
commands for text formatting appli- 
cations. It is intended for use with 8080 
and Z-80 microcomputer based systems. 
The commands include multiple line 
spacing; left and right margin control; 
indenting; paging; optional right margin 
justification; centering and underlining 
text; no-frill modes; automatic page 
numbering; page and line length control; 
and the printing of left, right and center 
header titles and footer titles with 
optionally different titles based on even 
and odd pages. Also included is the 
ability to input extra data from a file or 
the console terminal during the format- 
ting process. 



The text processing system will auto- 
matically loop for repeated formatting 
applications such as form letters. A pre- 
processing program is able to select a 
subset of the extra text data according 
to a user specified matching pattern. The 
output of the text processor can be 
directed to either the console terminal, 
line printer, or a disk file. 

The source code of the text for- 
matter has been written in CBASIC and 
runs under the CP/M operations system. 
It is available on eight inch floppy disks 
with a comprehensive manual at a cost 
of $250 per copy. A well documented 
source code is also available for an addi- 
tional fee. For further information con- 
tact Digitan Systems Inc, 5001 16th Av, 
Brooklyn NY 11204. 

Circle 617 on inquiry card. 



A Powerful Disk Based Operating 
System for 6800 Microprocessors 

The CP/68 operating system for the 
6800 family of microprocessors furn- 
ishes big system features and capabil- 
ities for microcomputers. A combination 
of memory resident and transient com- 
mands provide the system's flexibility. 
With the CP/68 operating system it is 
possible to add your own commands to 
the system. PIP (Peripheral Interchange 
Program) allows transfer of data be- 
tween physical devices. Wildcard opera- 
tion of all disk commands lets the user 
specify files either ambiguously or un- 
ambiguously. 

Other features of the operating 
system are complete device independent 
I/O (input/output); sequential and 
random file access methods; dynamic 
allocation and expansion of files; com- 
mand files; and chaining and overlaying 
of user programs. It fits in less than 8 
K bytes and can be relocated anywhere 
in memory; the extended instruction 
set includes 19 new 6809-type instruc- 
tions (PSHX, PULX, etc); all disk 
operating system services are available 
through a single supervisor call; and it 
easily interfaces to new devices and peri- 
pherals. 

The operating system supports func- 
tions that STRUBAL+ used to provide 
in its runtime package. The operating 
system runs on Percom, ICOM, MSI, 
Smoke Signal, Micropolis and SwTPC 
systems. For further information contact 
Hemenway Associates Inc, 101 Tremont 
St, Suite 208, Boston MA 02108. 

Circle 619 on inquiry card. 



250 June 1979 © BYTE Publications Inc 



t z==-computer 4 
*\ /Products „$& 



THE FIRST TO OFFER PRIME PRODUCTS TO THE HOBBYIST 
AT FAIR PRICES NOW LOWERS PRICES EVEN FURTHER! 

1. PrOVGn Quality Factory tested products only, no re-tests 
or fallouts. Guaranteed money back. We stand behind our products. 

1979 CATALOG NOW AVAILABLE. 

Sena 51 .00 for your copy ofthe most complete catalog of computer products. A must 



STATICA /RAM BOARDS. 



tm 



& 



S-100 32K (uses 2114) 
ASSEMBLED Kit *(/i 

450ns. 599.00 450ns. 539.95 

250ns. 699.95 250ns. 599.95 

Bare Board 49,95 
Bare Board w/all parts less mem. 99.95 



bit! 



S-1 OO 1 6K (uses 2114) KIT (exp. to 32K) 



ASSEMBLED 450ns. 279.00 

450ns. 325.00 250ns. 299.00 

250ns. 375.00 

Bare Board 49.95 

LOCOS I 8K 

ASSEMBLED 

450 ns. 169.95 KIT 450ns. 125.95 

250ns. 189.95 250ns. 149.95 

Bare PC Board w/Data S21.95 
Now over 1 year successful field experience 

Special Offer" Buy (4) 8K 450ns. Kils S1 1 7.00 



ra 




FLOPPY DISK DRIVES 



1. VISTA V-80 MINIDISK 
FOR TRS-80 

♦ 23% More Storage 
Capacity -40 Tracks 

• Faster Drive - S N. 
Uo to 8 Times Faster laflsool 

2 Drive Cable Add S29.95 l"—" > ~ / / 
4 Drive Cable Add $39.95 ' 

2. VISTA V-200 MINI-FLOPPY SYSTEM 

* 204K Byte Capacity * w/CPM. Basic"E" 

* One Single Sided, if~ — *^ 
Double Density Drive f V-2C*C*N 

* One Double Density le99. 00 J 
Controller w/Case & P.S. V S 

Add to your EXIDY, 
HORIZON, etc. 

3. VISTA V-1000 FLOPPY DISK SYSTEM 

• (2) Shugart 800-R 8" Floppy Disks 
+ Controller Card. Cable, s^~ ^v 

Case J, PS /V-10OON 

*CPMS Basic "E", (1699.00; 

Instructions S Manual ^v_/ 

4. MPI B51-5V."^40 tracks 279.00 

5. Shugart SA400-5H", 35 tracks. . . . 295.00 

6. Siemens/GSI FDD1 00-8 8" 375.00 

7. Shugart 800/801 R 8" 495.00 

8. PERSCI Model 277 Dual 1195.00 



EXPANDORAM MEMORY KITS 

* Bank Seleclable * Uses 41 15 or 41 16 
200 ns. 
Write Protect * Power 8VDC, ±16VDC 
+ Phantom * Lowest Cost/Bit 

Expando32Kit(411S) Expando64Kit(4116) 
~ 8K S179.00 " 16K $248.95 

16K S229.00 32K $369.00 

24K $299.00 48K $469.00 

32K $349.00 64K $565.00 



IMS STATIC RAM BOARDS „,.» 

* Memory Mapping • Low Power 4* 

♦ Phantom * Assembled & tested 
Recommended by Alphamicrosystems 

250 ns^ 450 ns^ 

8K Static $209.00 $189.00 

16K Static $449.00 $399.00 

32K Static $799.00 $699.00 



ANADEX PRINTER 

Model DP-8000 compact, impact, parallel or 
serial. Sprocket teed, 80 cols, 
84 lines/min., bi-directional. 
New only $895.00 



* 5V<" Minidiskettes * 5p.\ G - 
Softsector, 1 Sector, 1 6 Sector T \^_ .- 
$4.25 Each, 10/39.95 ovS^ 

* 8" Standard Floppy Disks 
Soft Sector, Hard Sector 
$4.50 Each, 10/41.95 

'Add 4.95 for 10 Pack in Deluxe Disk Holder 



* 



MOTOROLA EXORCISE*! COMPATIBLE 

9600 MPU Module w/6802 CPU $495.00 

9601 16 Slot Mother Board 175.00 

9602 Card Cage (1 9" Retma Rack Mount) . . . 75.00 

9603 8 Slot Mother Board 1 00.00 

9604 Switchmode System PowerSupply .... 250.00 

961 Utility Prototyping Board 36.00 

9616 Quad 8K Eprom Module *** 

9620 16 Channel Parallel I/O Module. ... 295.00 
9622 Serial/Parallel I/O Combo "* 

9626 8K Static RAM Module 295.00 

9627 1 6K Static 450ns 495.00 

9630 Card Extender 68.00 

9640 Multiple Programmable Timer 

(24 Timers) 395.00 

9650 8 Channel Duplex Serial I/O 395.00 

96103 32/32 I/O Module 275.00 

96702 32 Point Reed Relay Module 350.00 

6800 BARE BOARDS 

9620-0 $45.00 9603-0 27.00 

9626-0 45.00 9600 55.00 

9650-0 45.00 96103 55.00 

9601-0 50.00 96702 55.00 

) AMI EVK System in Stock 



APPLE/EXIDY/EXPANDO 
TRS 80 16K-UPGRADE KIT 



* 1 6K with Jumpers & Instructions 

for either Levei ! or Level II S89.95 

* 16K for Apple II Upgrade $89.95 

Special: TRS80 Schematic $ 4.95 

Expansion Interface Schematic — S 4.95 



TRS 80 TO S-1 00 

PET TO S-100 ADAPTER 

Allcws Pet/TRS 80 to be interfaced to 
popular S-100 Bus. 

Pet to S-100 Kit $189.95 

Assembled $269.95 

TRS80 to S-1 00 HUH 81 00 Kit ..,.$275.00 
Assembled $355.00 

KEYBOARD ASCII ENCODED 

One time purchase of 
NEW Surplus key- 
boards. From the Singer 

Corporation. The 

. . .■■-— km keyboard features 128 
■ ■■■.-r..Uv~'. m ASCI! characters in a 63 
.. f j.j tr g gtsi tj r "TT^f key format, MOS 

1 --■ ! encoder circuitry "N" key 

rollover, lighted shift lock, control, escape and 
repeat functions. Ltd Qty 63 KEY $59.95 



UV "EpronV' Eraser 

Model UVs-1 1 E $64.95 

Holds 4 Eprom's at a time 

Backed by 45 years 

experience. 

Model S-52T. . . $21 9.9S 

Professional Industrial Model 




TARBELL FLOPPY INTERFACE 

* Z80/8080 S100 Compatible * Uses CPM 
Assembled lor Shugart. . . . SALE S220.00 

Assembled Olher Drives S269.95 

Kit S179.95 

Bare Board .... S36.95 (Ooc. Add S10.00) 

Vista Double Density 5'.V Controller 

Assem S299.0Q 

SD Versa FIoddv Kit SI 59-95 

SD Versa FIopdv Assomblccl . . ? 1 B9.95 

Tarbel Cassette I/O Kit $115.00 

Sale * 1771-01 Floppy Chip,... $27.95 

BYTE USER 8K EPROM BOARD 

+ Power on Jump + Reset Jump 

AssenbledS Tested $94.95 

Byteuser Kit $64.95 

Bare PC Board $21.95 

Special Offer: Buy 4 kits only $59.95 each 

MR-8 8K w/1 K Ram $99.50 

MR-16 16Kw/1K Ram S99.50 

EPM- 1 4K 1 702 $59.95 

EPM-2 2708 or 2716 Eprom $69.95 

Z-80/Z-80A/8080 CPU BOARD 

* On board 2708 * 2708 included (450ns.) 
•k Power on jump * completely socketed 

Assembled and Jested $185.00 

Kit SI 29.95 

Bare PC Board $ 34.95 

* Fot 4MHz Speed Add $15.00 

8080A Kit $ 99.95 

8080A Assembled $1 49.95 

S-100 MOTHERBOARD SPECIAL 

8 slot expandable w/9 conn. 

reg $69.95 NOW $52.95 



TARBELL FLOPPY CONTROLLER 

Card assembled and tested for use with Shugart 
Drives $ SALE PRICE only $229.00 




ACOUSTIC MODEM 

NOVATION CAT'" 

0-300 Baud 

Bell 103 

Answer, Originate $198.00 

ACOUSTIC COUPLER SPECIAL 

AJ MODEL A30 
SPECIAL PURCHASE 
OF SURPLUS UNITS 
AVAILABILITY LIMITED $29.95 



DATA BOOKS • COMPUTER BOOKS 

.49.95 Intel MCS 80 Manual .. ..7.95 

..3.95 Intel MCS 40 Manual 4.95 

.5.95 



1978 IC Master . 
NSCTTL Data... 

NSC Linear 4.95 AMD 80S0A h 

NSC Linear App Notes U . 3.95 AMD Schotlky Dalabook 

NSC CMOS 3 95 AMI MOS/LSI Oala 

NSCMumory 3 95 Gl MOS/L5I Dala 

into! Oatabook 4.95 Harris Analog DatabooK.. . 

Intel MCS 85 Manual 7.50 Tl Linear Control Dala 

SALE • OIBONMI BOOKS • SALI 

R.g. 



(Vol 0. 
s Vol. I . . 



■<Q 7 75 
7.75 



80 80 A Progr; 

6800 Programming 

Z80 Programming itSQ 7 75 

Vol. It Some Real Microprocessors w/Bmder 3fr00 27 50 

Vol. Ill Some Real Support Devices w/Bmder 7fr*a IB 50 

Inlro lo Micros Vol. III. ?fr«Q.I850 

SALE • DILITHIUM COMPUTER 1O0KB • BALI 

Understanding Computers '8.3fc- 7 95 

SOaOMicrocomputer Eiperimenls . . TJSfc 1 1.95 

Beginning BASIC . - .*§*. 8 95 

Beginners Glossary* Guide. . B-9*. 595 

Peanut Suiters Jolly Guide to Compuiers. . . T?g*. 6 95 
8080 Machine Lanouaoo Programming T-94. 8 95 

Homo Computers Vol I Hardware T9S. 6.96 

Homo Compulurs Vol it Software. . TMi 1195 



P. 0. BOX 17329 Irvine, California 92713 



Send~$1 .00 for your copy of~the most complete catalog c 

for the serious computer user. , 

MICROPROCESSORS S TATIC RAM HEADQUARTERS SOCKETS 

Z-80 

Z-BQA 

F-6 13B50I 

3650 

CD1802 

808OA 

6030A4MHz 

SALE 8085 

8008-t 

2901 



2901 A 
TMS 9900 J L 
CP1B00 
8502 
6502A 
IM6 1 00 
6800 



16 95 
2495 
49.95 
39 95 
11 50 
1995 
29 95 
16 95 
2495 
1750 
49 95 



SUPPORT DEVICES 



AM 9511-1 300 ns. 



388' iZ80 PIOl 

3882 (Z-80 CTCi 
38U2-4MMHZI 
B205'T4S138 Dei: 



8324- 



MHz) 



8226 B 
6T26 8uS Driver 
8228 Sys Centre 
823B Sys Cont 
" Prog I/O 



8253 



: Tirr 



8255 P 

B2S7 Prog DMA 

8259 Prog Inl 

8275 CRT Controller 

S279 Prog Keyboard 

E8t 0-1 128 i8 RAM 

6820 PlA 

6621 PlA 

G62N Pr,ority Int 

6834-1 512 > 8 Eprom 

6650 ACIA 

6HS^ Sc-ial Adapter 

63J5 HD46505CRIC"nn 

6860 Modem 

t.a> ; ...' Modulator 

6871A i GMHiOSC 

6875 

6880 Bus Driver 

MC684B8 

1821 SCD IK RAM 

1B22 SCD 256 > -1 RAM 

1824 CD 32 > 8 RAM 

185? CD 8 bit I/O 

1854 Uart 

1856 CD I O 



DYNAMIC RAMS 

416/41 



2 50 

2 95 
9 75 

3 95 
2 39 
595 
6 25 
6 95 

19 50 
6 50 
19 50 
19 50 



6 50 
6.50 
11.00 
12 95 



26 00 
1695 
9 95 



Selo 



416' 



41158Kt16Pin] 
4050 4K . 1 (18 Pirn 
4060 IK . 1 (22 full 
■1096 AK . 1 116 Pin) 
2104 4Kx 1 |16 Pin). 
40274K < 1 116 Phi) 
5261 1 95 1' 



12.15 

89.95 
.6.95 



. . 3.9S 
,4r5 
. . 4.95 



PROMS 

2708 
2708-6 



2751' r,V 
5203AQ 
5204AO 



16.95 
2.50 
3 50 
.3 50 
. 6.50 
2.95 



SALI 6323 33 xB 3.BB 

82S1IS512neiTS| 
82512332x8.. . 
625126 256x1 ... 
B2S129 256x4fISI . 
82S130 512x4(OC) . 
NSC DM7578 32 xfl .. 

CHARACTER GEN 

2513-001 <5V| Upper 

2513005 (5V|Lowi 

2513-ADM3l5VILr 

MCM657I 

MCM6571A 

MCM6574 

MCM6575 



UARTS/USRTS 



TMS 601 t i5\ 
IM6402 
IM6403 
2350 USRT 



SALKTR14T3B 

BAUD RATE GEN 



KEYBOARD ENCODERS 

AY5-2376 13 76 

AY5'lfiO0 l.l r*5 

HD0165 9 95 

74C922 9.95 

74C923 9 95 

A/D CONVERTERS 





[■24 


25-99 


100 


21L02 450nr, 


1 30 


t 25 


l 15 


21L02 250ns 


1 59 


1 55 


1 45 


2102 


1 25 


1 15 


1.10 




3 75 


3.65 


3 55 






2.85 


265 




2.90 


270 


2 55 


2M4L-250ns 


1295 


10 95 


3 95 


2ll4L-300ns. 


695 


7 95 


5.45 


2114L-4B0m. 


7 50 


6 75 


4.75 


■1044/4041 300ns 




8.75 


7.95 


4044/4041 450ni 




6 75 


4.7 S 


EMM42O0A 


97 


5 8 75 


7 95 






7 25 


6 25 


EMM4804 


12.50 


11 50 


3 95 


S101C-E 


7 95 


7 95 






10 95 


10 25 


3 25 




'0 95 


1025 


?25 


AMD9K10 31 


'2 95 


11 95 


'025 


FSC 460 J64I6K C 

1101 

P2125 93-125 i45 " 


(1 0.--I-, 


S18 95Earn 


i PflS 


r J5 


7 26 


6506 If % 1 CMOS 


7 95 


7 95 


7 25 


65t8 iK » t CMOS 


7 95 


7 95 


7 25 








2 50 










LM47LowP™er4KStatiC 1 


4.95 ea. 






CHARGE COUPLED DEVICES 


16KCCD- First lime 


limed FauchUd 460 CCD 


I6K Memorv (now yo 






iCCD 




aWB pr 


M 1 7 cage Acolica- 






er Ouanif 




$18.95 each (reg. 


43.00) 





4CMHf 

.1 m43D4MM 

<1'I1£.20MH.' 



1Q0KC 

DISPLAYS/OPTO/LED'S 

* 7 SEGMENT * CALC * CLOCKS 

DL 704 ICC) DL 707 |CA| 300' Red 

FND357 |CC) ,357" Red 

I"NI> 500,".iO'J |C:C> 600" Red. 

FND 507/510 lCA| 500" Red 

rfJD 800/SD3 iCC) 800" Red 

FND 807/810 (CA| .8O0" Red 

. Ar-J JOB? WMi Griinn . . 

HIT,.'.)fl2-7T:il ICAi 300" Red 

ft OigH Bulibiu Mini Cak Display 

S Digit ParKitilei Display 400" 

9 Digit Fluorescent 300" 

MA 1003 12V AtitnClivk Mnoule . ...1 

Bezel loi MAl003w/Rcd Filler 

MA1002ALED 12 hr ClocK Module 



0S5 



• HEX DISPLAYS * ENCODED DISPLAYS * 
I ^5082-7340 Red Hemdecimal . .. 1595 

HP 5082-7300 Red Nyiienc . 14 95 

TIL 306 Numeric w/Loq.c B.9S 

TIL 308 Number w/LogiC ..6 95 

TIL 309 NumOer w/Log* 8.95 

TIL311 Hnxadecima! 12.95 

MAN 2A 320" Red Aloha- Numeric 5 95 

MAN I0A 270 - Red Aipna Numeric . 895 

* LED'a * OPTOISOLATERS * 

LEDS Rod. Yellow. Green 185. . .. 5/100 

MCT 2 Pholo XSTR HFE 250. 30V 99 

4N25 Photo XSTRHFE 250. 30V .... 129 

4N33 Photo Darlrnglon 175 

FPT IIOBPnOtoXSTRFIalLense SALE 4/ 100 

ATTENTION KIM USERS 



KIMSAI-eirjansion to S-100 . . .125.00 K 

KIMSI la KIM Connector , 

KIM 1 6502 Single Board Computer 

KIM 1 Power Supply 

KIM Memory Plus ■ (connisls of 8K Ram. 
BK2716 Eprom. Program mer.l/O etc.| 
KIM SOFTWARE 

• Please package (cassette) 1 2 games 

• Help Editor package (cassette) 

• Help Mailing Lisl pkg (cassette),.. 

• Help Into RotnVal pkg (cassette) 

• Mcrochess (cassette) 

• Microaid Assembly/Disassem/EOilor 

• Microaid Source Listing (cassette) . . 

• Tiny Basic tor KIM [paper tape I. . 



it/165 00 
5 Ts'r-i" 
..17900 
...59.35 



1635 
1695 
16.95 



27.95 
27.95 
.10.95 



COMPUTER SPECIALS 

., LIST 

MiPlot Pioiier .ft^H" 1085 00 

KiPIoi Digrliser ^ v 



E<rdy y, 
Apple II w/16K 

TEIPT208H avai 
RrontamceSyslll 
Commodore Pat 
Soroc 10/120 
A0M3A Aasem. 
Tolelyiie 43 
CenlrpnicaP.t 
CenlromcsS-t 



79500 
1395 00 
1195 00 
169500 
4995.00 
5990 00 
795 00 
995 00 
39500 
1349.00 
495 00 
595 00 



SALE 

899 OC 
735 OC 
119S0C 
1045 0C 
1595 CO 
399500 
5395 OC 
765 00 
695 00 
829 00 
1 1 50 00 
395 00 
52SOO 



MONTHLY IC SPECIALS 

LF13508 JFET Anloo Multl B bit 
ICM7208 Seven Decade Counter 
ICM7207 O-iCl'aiO' Controller 
ICM7045 Precision SiO-U'alCh Timer 
ICL7107 S'^DigilA/DILEDI 
ICL621 1 voiiarje Reierence . 
LM390BalieryOP Audio Amp 
LM1830 Fluid Deleclor 

LMlSSOQroundFaulltC . 

LM1H00 PUM Lock Loop FM Slu'i.'n 
LM1820 AM Rad'O.. 
DS3625 Dual Mos 5en.se Amp 



i4HH.'!4e9 
22 Pin S/T Sue 
B333 Proni 
BMl'l Prom 

MKS014CSJC 

7.1 1 4 1 N 
LM2917 
HT26/8T2H 
95H90.. . 



4/10 96 10147 ECLFtam,. 

ayi m NE56 i 

<!M0 '- , .S? LF356HBIFOI..3 

J*2 MCM14S05 

^ 74S89 3 

«] '' 74107N 6 

3/1 m 75452N 8 

225 741N-14 10 

239 555CN_ 5 

.9.95 556CN 3 



ATTENTION 
APPLE II USERS 



TEXTOOL ZERO 
INSERTION FORCE 
SOCKETS 



CONNECTORS 



/44 WW, ST. KIM 
i86 W/W. S,T, MOT 
'100 S-100 Connector 
/100 S-100 Connector 



5650 
2 95 
6.50 



CTS DIPSWITCHES 

CTS20C-4 5' 75 CTS206-B SI 95 

CTS2C6-5 SITS CTS206-9 S195 

CTS206-6 Si 75 CTS206-10 S I 95 
CTS2CtV7 S' 75 

LIVERMORE BASIC 

ON65K ROM 



NAKED PC BOARD SALE 



Z-80CPU (Ithaca), .. 

8080ACPU . 

8K Static RAM (Logosi 

16KStahcRAM(21 )4| 
32K Sialic RAM 121141 
Floppy I/O (7arWII| 
Cassette t/O (Tarbell) 
8K £orom(270B) . 
1702 Eprom Board 
2708/2716 Eprom (Ithaca) 
2708/2716EpromiWMCl 
Reaiiime Clock 

ACP ProtO Bd (3M Conn ) 

Veclor8800 ProtO 19 95 

Vector 6803 1 1 Slot MB 29 95 

ACP E.tender w/Conn 15.95 

video Inteitaca iSSmi 27.95 

r>ri(.V!:'l inu.-rP.-ic.-; iSSM| 27.95 

13 Siol MoihorBoard IWMCl 32 95 
ySialMolnerEviarOWMCl 2995 
8 Slol Mother (en pandablei 34 65 



S34.95 
34.95 
21.95 

29 95 
4995 
39.95 
29.95 
21 95 

30 OC 
34.95 
3000 
34 95 



WAVEFORM 
GENERATORS 

803HrunciicnGen 3 95 

MC-1024 VCO 2 45 

LM566 VCO 1 75 

XR22IJ6 Function Generator 5 25 

FLOPPY DISK I/O 

177101 8"S Minifloppy 2/95 

uPd372 Nee FIoppv 49 95 

1781 Dual Floppy 39 95 

1791 Dual Floppy 44.95 

TV INTERFACES 



M4R Modulator. 3500 

ATTENTION 
PET USERS 

BETSI-pel expansion tp S10O 

105 00 Kit/1 60.00 

PET Connector Kit. Includes (4) 
Connectors lor memory expansion, 
IEEE 468 I/O, cassette I/O and 

parallel user nort 7.95/sel 

Video Butfer 
(converts lo Slfl Video) 29.95 

Petun.a IMusic Board) . .2995 
Combo (Video & Petunia) 4995 
Beeper (signals tape load) 24.95 



ATTN TRS 80 USERS 

20/40 Pm Memory E«p Conn 



'6K Memory Add-on w/lfM 
Vista V80 Minilloppy. 
40TrackDOSPalcnonDisl 
4 Dr.ve Cable lor V80 
Cenlion.es 779 w/tractor 
Cenhomcs 701 Bidirect 
ANADEX DP8000 
Micro-P name as Quick Pr 

CabietopiuginEiRansionl/! 
Power Strip 15 outlets! 
Surge Suppressor/Filler 
MicrosoM Fortran on Disk 

Electric Pencil on CasseitE 



7 95 

89 95 

395 00 

1095 

39 95 

1179 00 

1579 CO 

995 00 



VI tor TRS on 
]ry 100(cass 



TV CHIPS 



ill Shipmunii FCM or UPS. Orrfe 
ndsr S100.00 add 5% handlino an 
.otiaqe. Order* over SluG.Ou jdd 2 5 
iandhng & poiiige- Masten-li.» I j 1 -.'n.iiil 
merrcjrri/COD accepted w/25% dupoit 
ulrl C, i..v Foreif 



Call 



ing All 



Phone (714) 558-8813 

TWX: 910-595-1565 



Retail Store Open Mon. — Sat. 
Located at 1310 "B" E. Edinger, 
Santa Ana. CA 92705 



Circle 4 on inquiry card. 



BYTE June 1979 



251 



What's New? 



PERIPHERALS 



S-100 Single and Double Density 
Disk System 




DISCUS 2D is a full-size, single and 
double density floppy disk system 
capable of storing up to 600 K bytes of 
data on each side of an 8 inch disk. This 
disk is formatted to be compatible with 



the IBM System 34. Like the original 
single density DISCUS I, DISCUS 2D 
comes fully assembled with a control- 
ler board and a Shugart SA800R full- 
size drive mounted in a cabinet with a 
power supply. 

The S-100 controller board utilizes 
the Western Digital 1791 dual density 
controller device and also has power on 
jump circuitry, 1 K bytes of program- 
mable memory, 1 K bytes of read only 
memory with built-in monitor, and a 
hardware universal asynchronous re- 
ceiver-transmitter with a data rate 
generator to simplify I/O (input/output) 
interfacing. It is capable of handling up 
to four drives. 

Software includes BASIC-V virtual 
disk BASIC, DOS and Disk/ATE as- 
sembler and editor. Extra cost optional 
software, including CP/M Microsoft Ex- 
tended Disk BASIC and FORTRAN, is 
available. The price is $1149 for the 
completely assembled single and double 
density system, and $795 for each addi- 
tional drive. For further information, 
contact Thinker Toys, 1201 10th St, 
Berkeley CA 94710. 

Circle 585 on inquiry card. 



TRS-80 Serial Input/Output Board 




This board is RS-232 compatible and 
can be used with or without the expan- 
sion bus. There are on-board switch selec- 
table data rates of 110, 150, 300, 600, 
1200 and 2400 bps; parity odd, even, 
or null; 5 to 8 data bits and 1 or 2 stop 
bits. It has a data terminal ready line. 
The board alone sells for $19.95 (with 
parts $59.95). Assembled, it is $79.95. 
Contact Electronic Systems, POB 21638, 
San JoseCA 95151. 

Circle 587 on inquiry card. 



Light Pen Complements Apple II 
Computer 




Symtec Inc, POB 462, Farmington 
Ml 48024 has announced a low cost 
light pen for microcomputer use. The 
Symtec light pen is supplied complete 
with interface and provides an X, Y 
coordinate number to the bus when 
the pen is activated by a touch sen- 
sitive switch or from software control. 
The pen can provide up to 255 Y values 
and 511 X values and is software divid- 
able to fit any screen size. 

The Apple version of the light pen 
can resolve a single high resolution 
point and can be used with all of the 
Apple graphics features and text. This 
version is provided with a demonstra- 
tion cassette written in integer BASIC 
for easy modification by the user if 
desired and allows use of the pen in 
the user's own programs. A complete 
listing of the light pen routine and 
suggested uses is included in the appli- 
cations manual. The light pen is priced 
at $249.95. 

Circle 586 on inquiry card. 



X,Y Plotter Unit from Sylvanhills 
Laboratory 




This X, Y plotter includes a plotter, 
drawing surface, electronics, and power 
supply completely assembled and ready 
for interface to any 8 bit transistor- 
transistor logic parallel port. The pen 
holder accepts any writing instrument 
or stylus 7 to 1 1 mm in diameter, 
encoded for 0.01 inches per pulse 
(0.005 inch optional). The maximum 
pen travel speed is 2.5 inches per sec- 
ond with a 24 V supply. A basic 8080 



software program is included in the 
owner's manual. Applications include 
architectural, mechanical, and schematic 
drawing; printed circuit board artwork; 
positioning of small objects; computer 
generated art; games; and others. 

The plot driver software is available 
as ASCII source files on paper tape and 
CP/M small disk formats. TEI and 
Cromemco small disk formats are also 
available. Both the BASIC and assembler 
source are provided, and contain com- 
ments which guide the user in making 
source modifications. 

Unit-1 with an 1 1 by 1 7 inch drawing 
area is $1,049; Unit-2 with a 17 by 22 
inch drawing area is $1 ,249. The plotters 
are also available in kit form with 
console and power supply priced sepa- 
rately. The owner's manual can be pur- 
chased for $5. For further information, 
contact Sylvanhills Laboratory Inc, POB 
646, Pittsburg KS 66762. 

Circle 588 on inquiry card. 



TRS-80 Expandable Interface 




Microtronix has introduced an ex- 
pandable interface for the Radio Shack 
TRS-80. The basic interface unit uses 



low power Schottky circuitry, the 
standard Radio Shack 40 pin bus, and 
provides the following features: two 
joysticks for games, screen editing and 
educational instruction; stereo sound 
using two RCA 1863 programmable 
integrated circuits; parallel printer inter- 
face. At an introductory price of 
$129.95, the interface may be ordered 
with a $29.95 optional real time clock. 
Joysticks and music may be controlled 
directly from the user's BASIC program, 
using the INP and OUT commands. 
For further information, contact Micro- 
tronix, POB Q, Philadelphia PA 19105. 

Circle 589 on inquiry card. 



252 June 1979 © BYTE Publications Inc 



PEFOOM SAMPLER 



> r 





tBMtNAl 




i*Pi 




300 


UKt 




ON 




$£ 60 ° 


* 


• 


$r 




I J CO 


lOCAl 




AUlO 




ptFXSDM 






ci5*a 





For your SS-50 bus computer — the 
CIS-30+ 

• Interface to data terminal and two cas- 
sette recorders with a unit only 1/10 
the size of SWTP's AC-30. 

• Select 30, 60, or 120 bytes per second 
cassette interfacing, 300, 600 or 1200 
baud data terminal interfacing. 

• Optional mod kits make CIS-30+ work 
with any microcomputer. (For MITS 
680b, ask for Tech Memo TM-CIS- 
30+— 09.) 

• KC-Standard/Bi-Phase-M (double fre- 
quency) cassette data encoding. De- 
pendable self-clocking operation. 

• Ordinary functions may be accom- 
plished with 6800 Mikbug™ monitor. 

• Prices: Kit, $79.95; Assembled, 
$99.95. 

Prices include a comprehensive instruction 
manual. Also available: Test Cassette, Re- 
mote Control Kit (for program control of 
recorders), IC Socket Kit, MITS 680b mod 
documentation, Universal Adaptor Kit 
(converts CIS-30+ for use with any com- 
puter). MIKBUG® Motorola, Inc. 



In the Product Development 
Queue . . . 

Coming PDQ. Watch for announce- 
ments. 

6809 Processor Card —With this SS-50 
bus PC board, you'll be able to upgrade 
with the microprocessor that Motorola 
designers describe as the "best 8-bit 
machine so far made by humans." 

The Electric Crayon™ — This color 
graphics system includes its own /xP and 
interfaces to virtually any microcomputer 
with a parallel I/O port. 

Printer Interface — For your TFtS-80™. 
Interface any serial RS232 printer to your 
TRS-80™ with this system. 



•"ELECTRIC WINDOW, ELECTRIC CRAYON. Pilon- 
30 and Pilon-10 are trademarks ol Percom Data 
Company. Inc. 

TRS-80 is a trademark of Tandy Corporation and Radio 
Shack which has no relationship to Percom Data Company. 

Orders may be paid by check or money order, 
or charged to Visa or Master Charge credit 
account. Texas residents must add 5% sales 
tax. 




For your data storage — Pilon-30™ and 
Pilon-10™ data cassettes 

• Orders-of-magnitude improvement in 
data integrity over ordinary audio cas- 
settes. 

• Pilon-coated pressure pad eliminates 
lint-producing felt pad of standard 
audio cassettes. 

• Smooth pilon coating minimizes erra- 
tic tape motion. 

• Foam pad spring is energy absorbing. 
Superior to leaf spring mounted pad 
which tends to oscillate and cause flut- 
ter. 

• Five-screw case design virtually pre- 
cludes deformation during assembly. 

• Price: $2.49. 




It" 

M if n 
|M ii.ii ij 

For your S-100 computer— the CI-812 

• Both cassette and data terminal inter- 
facing on one S-100 bus PC board. 

• Interfaces two recorders. Record and 
playback circuits are independent. 

• Select 30, 60, 120, or 240 bytes per 
second cassette interfacing, 110 to 
9600 baud data terminal interfacing. 

• KC-Standard/Bi-Phase-M (double fre- 
quency) encoded cassette data. De- 
pendable self-clocking operation. 

• Optional firmware (2708 EPROM) 
Operating System available. 

• Prices: kit, $99.95; assembled, 
$129.95. 



Prices include a comprehensive instruction 
manual. In addition to the EPROM Operating 
System, a Test Cassette, Remote Control Kit 
(for program control of recorders), and an IC 
Socket Kit are also available. 



CASSETTE SOFTWARE 
For 8080/Z-80 ju.Cs . . . 
BASIC ETC — Developed by the co- 
authors of the original Tiny BASIC, BASIC 
ETC is easy to use yet includes com- 
mands and functions required for power- 
ful business and scientific programs as 
well as for hobby applications. 9.5K bytes 
of RAM . 1 200-baud cassette and 42-page 
user's manual $35.00 

Cassette Operating System — EPROM 
(2708) COS for the Percom CI-812 dual 
peripheral interfacing PC card . . $39.95 

If you're programming on a 6800 /xC, 
you'll want these development and de- 
bugging programs written by Ed Smith of 
the Software Works: 

Disassembler/Source Generator — Dis- 
assembles SWTP Resident Assembler, 
TSC Mnemonic Assembler/Text Editor or 
Smoke Signal Mnemonic Assembler/Text 
Editor and produces compacted source 
code suitable for re-editing. Prints or dis- 
plays full assembly-type output listing. 
4K bytes of RAM. 
(Order M68SG) $25.00 

Disassembler/Trace — Use to examine 
(or examine and execute) any area of 
RAM or ROM. "Software-single-step" 
through any program, change the con- 
tents of CPU or memory location at any 
time, trace subroutines to any depth. 
2.3K bytes of RAM. 
(Order M68DT) $20.00 

Support Relocator Program — Supplied 
on EPROM, this program relocates a 
program in any contiguous area of RAM 
or ROM to anywhere in RAM. Use to 
assemble and test programs in RAM, ad- 
just programs for EPROM operating ad- 
dresses and then block move to your 
EPROM burner address. 952 bytes of 
RAM. Loads at hex 1000. 
(Order M68EP) $20.00 

Relocating Assembler & Linking Loader 

(M68AS) $50.00 

Relocating Disassembler & Segmented 
Source Text Generator (M68RS) $35.00 

Americana Plus — 1 4 tunes for the New- 
tech Model 68 Music Board in machine 
language ready to load and run. Cassette 
compatible with Percom CIS-30+ and 
SWTP AC-30. Order MC-1SW . . $15.95 

HARDWARE 

Newtech Model 68 Music Board — Pro- 
duces melodies, rhythms, sound effects, 
morse code, etc. from your programs. 
Includes manual with BASIC for writing 
music scores and assembly language 
routine to play them. Installs in SWTP I/O 
slot. Assembled & tested $59.95 

The Percom ELECTRIC WINDOW™ — 

Memory-resident and programmable, 
this video display character generator 
board for your SS-50 bus displays up to 
24 80-character lines. Features dual 
character generators, dual-intensity 
high-lighting. One programmable regis- 
ter controls scrolling. Compatible with 

standard video monitors $249.95 

SS-50 Prototype Cards: 

Large card (up to 70 40-pin ICs) $24.95 

I/O size card $14.95 




PERCOM™ 'peripherals for personal computing' 



PERCOM DATA COMPANY, INC. 

DEPT. B 

211 N. KIRBY - GARLAND, TX. 75042 



To order products or request additional lit- 
erature, call Percom's toll-free number: 
1-800-527-1592. For detail technical in- 
formation call (214) 272-3421. 



Circle 305 on inquiry card. 



BYTE June 1979 253 



What's New? 



MISCELLANEOUS 



Computer Terminals Directory 

A user-oriented directory of com- 
puter terminals has been published by 
the Association of Time-Sharing Users 
(ATSU). This guide contains photo- 
graphs and full page information about 
each of 120 terminals. In addition to 
the latest pricing information, the 
directory lists each terminal's lease costs 
(when available), the number that have 
been installed, and information about 
whom to contact at each supplier. The 
Computer Terminals Directory is avail- 
able for $45 in bound form. It is avail- 
able as part of a membership in ATSU 
for $85, in loose leaf form, as it is part 
of the Association's three volume 
Interactive Computing Directories, Or-- 
ders for the Directory or for Association 
membership should be sent to ATSU, 
POB 9003, Boulder CO 80301 . 

Circle 593 on inquiry card. 



The Slavemaster 2650 Multiprocessor 
System 



•HUlii !t« 



v-vijf,]., ' 't ''I | MB wf :i ' "^ JiPiiiifK') 



The Slavemaster 2650 S-100 bus 
multiprocessor system is based on the 
Signetics 2650 microprocessor. The 
system is composed of two identical 
S-100 cards interconnected by one 
ribbon cable. One is identified as the 
slave and the other the master. The 
only functional difference is that the 
master has the ability to reset, reset- 
jump, or stop the slave. 

Both processors operate at full speed 
with fetch and execute cycles interleaved 
in such a way that precise single process- 
or timing is maintained. Once synchro- 
nized, there is no interaction between 
the two processors. Communication 
between the two processors is through 
a common data base in the S-100 mem- 
ory. 

Some of the features of the Slave- 
master card include Kansas City cassette 
interface, RS-232/20 mA serial I/O 
(input/output), keyboard interrupt on 
serial input, real time clock interrupt, 
power fail interrupt, eight vectored 
interrupts decoded on board, 4 K byte 
2708 erasable read only memory sockets 
with dual-in-line package switches to 
select reset and power-on jump address. 
The kit is priced at $198 per board. 
For further information, contact Victoria 
Micro Digital, 401 Dundee St, Victoria 
TX 77901. 

Circle 594 on inquiry card. 



Western Digital System Speeds Up Pascal 

A set of integrated circuits which 
directly executes the object code from a 
Pascal compiler has been developed by 
Western Digital Corp, 3128 Red Hill Av, 
POB 2180, Newport Beach CA 92663. 

The 16 bit processor, which forms 
the basis of the Pascal Microengine prod- 
uct line, executes Pascal programs at 
least five times faster than conventional 
system software. The system uses the 
version of Pascal which was developed at 
the University of California at San 
Diego (UCSD). The UCSD Pascal soft- 
ware system includes a complete operat- 
ing system with the Pascal compiler, 
BASIC compiler, file manager, screen- 
oriented editor, debugging program, and 
graphics package; all written in the 
Pascal language. 

The four integrated circuits are the 
following LSI metal-oxide semicon- 
ductor components: 

• an arithmetic device containing 
arithmetic and logic unit, micro- 
instruction decoding, and the 
register file; 

• a microsequencer device con- 
taining macroinstruction de- 
coding, portions of the control 
circuitry, microinstruction count- 
ers, and I/O (input/output) con- 
trol logic; 

• two MICROM devices containing 
the microinstruction read only 
memories and microdiagnostics. 

Direct execution of the p-code (pseudo- 
code) produced by the Pascal compiler 
eliminates the previously required host 
operating system and p-code interpreter. 
Additional features of the Micro- 
engine system include user-defined bus 
configuration, four levels of interrupts, 
single and multibyte instructions, hard- 
ware floating point operations, stack 
architecture, a 3.0 MHz 4 phase clock 
(75 ns per phase) and a transistor-tran- 
sistor logic compatible three-state inter- 
face. 

Circle 595 on inquiry card. 



BASIC With Style 




PitfWF £ 




BASIC With Style by Paul Nagin and 
Henry Ledgard is intended for BASIC 
programmers who want to write carefully 
constructed, readable programs. This 
134 page book offers short rules and 
guidelines for writing more accurate, er- 
ror free programs. These simple elements 
of style enable the programmer to focus 
creativity on the deeper issues in program- 
ming. 

Chapter 1 is an overview. Chapter 2 
is acollection of simple rules, called prov- 
erbs. The proverbs summarize the major 
ideas of the book in terse form. Chap- 
ter 3 is an introduction to a strict, top- 
down approach for programming prob- 
lems in any programming language. The 
approach is oriented toward the easy 
writing of complete, correct, readable 
programs. Chapter 4 gives a set of strict 
program standards for writing programs, 
and Chapter 5 elaborates on several im- 
portant and sometimes controversial 
ideas discussed in the chapter on pro- 
gramming proverbs. 

The cost of the book is $5.95. It is 
available from Hayden Book Co lnc, 50 
Essex St, Rochelle Park NJ 07662. 

Circle 596 on inquiry card. 



Stand-Alone Microprocessors 

Three stand-alone microprocessors, 
the MPD8048, ^(PD8748, and (UPD8035, 
have been announced by NEC Micro- 
computers lnc, 173 Worcester St, Welles- 
ley MA 02181. The /iPD8048 contains 
the following features normally found in 
external support devices: 1025 by 8 bits 
of read only memory; 64 by 8 bits of 
programmable data memory; 27 I/O 
(input/output) lines; 8 bit interval timer 
and event counter; and oscillator and 
clock circuitry. 

The (UPD8748 (available late 1979) 
differs from the /IPD8048 only in the 
use of an 1024 by 8 bit ultraviolet eras- 
able read only memory for its program 




memory, while the /iPD8035 is scheduled 
for applications using external program 
memory. The functional power of the 
units can be expanded using standard 
8080A/8085A peripherals and memory 
products. The microprocessors are avail- 
able in a standard 40 pin, plastic or 
ceramic dual-in-line package. 

Circle 597 on inquiry card. 



254 



June 1979 © BYTE Publications lnc 



mi* '■ 



HOBBY WORLD® 

C4LL TOLL FREE: (800) 423-5387 
CAHI, AK: (213) 886-9200 



TRS-80 

FORTRAN 

PLUS 

$340 



As advertized! Supplied on 2 
mini -diskettes, ana requires a 
32K system with one disk 
drive. Written by Microsoft, 
designer of Level II and Level 
III. Includes Fortran compiler. 
7-80 macro assembler, texl 
editor, and linking loader. 
Adds speed and versatility. 



ANADEX 
Model DP 



Connects easily lo most popu- 
lar computers including TRS-BO. 
3 basis ASCII compatible in- 
terface configurations are pro- 
vided. 80 columns, 112 cps. 
84 lines per min, bi directional 
printing. Out-of-paper detector, 
uses standard low-cosl papers, 
"i character set, 9x7 dot mat- 



TRS-80 LEVEL III 
BASIC $42 

As advertised in March 
Interface. Loads on lop 
of level II, turns your 
TRS-80 into a powerful 
system. Solves loading 
problems, cures keyboard 
"bounce". Software cas- 
sette, has the power of 
a hardware modification! 
Guaranteed satisfaction! 
Cat No. 1332 



PRINTER 

8000 $ggg 

rix characters. Original plus 
up to 3 copies- Skip-over- 
perforation control, double 
width printing, 8 program- 
mable vertical tab positions. 
Excellenl readability. Superior 
to other printers costing Ihree 
times as much. 



DATA CASSETTES 
10 for $17 

Highesl quality, leader- 
less! With protective 
plastic case. 
Cat No. 1142 



TRS-80 ELECTRIC PENCIL 



Character oriented word pro- 
cessing system. Produce mail- 
ing lists, business forms, large 
numbers of original correspon- 
dence, camera ready copy for 
printing... all on your TRS-80. 
No carriage returns or hyphe- 
nations, line formatting is 
done by the Electric Pencil! 
Also features right margin 
justifying, page numbering. 



and tilting, and many com- 
binations of line length, page 
length, etc. For TRS-80 level 
1 or 2, 16K, and virtually any 
printer. 

$95 



BUY 7, 
GET 1 FREE! 

'Buy 7 of one type, 
get the eighth of 
that type free! 



Order by type no. 


1702 A 


13.50 


2708 


10.00 


411b 


11.00 


21102-250 


1.20 


J1L02-45O 


too 


I1L02-b'iO 


bS 


3114-450 


BOO 


S201Q 


3.25 



COMPUCRUISE 
$165 

Navigalional computer 
for mobile or marine 
use! Features cruise 
control, fuel manage- 
ment, Irip computer, 
timer /counter. Warns 
low fuel! Compensates 
for tire size, converts to 
metric! 44 functions. 
Mounts easily on dash. 
Easy lo read bright blue 
digits. With installation 
instructions. 
Cal No. 116b 



California Computer Systems 

MEMORY ADD-ON 
16K $70 

For APPLE TRS-80, EXIDY 
Everything you need! 
Installs in minutes, no 
special tools, no solder- 
ing! 250 nsec. 
Cal No. 1156 



S-100 COMPUTER 
BOARDS 

1601 CCS/M-XVI 16K STATIC RAM MODULE 

KIT $285 

1602 as above, a&I 

1603 as above, bareboard 
1500 HUH/S-100 MPA kit 

1503 MH PROPROM, 6K EPROM 

BOARD $214 

1504 6834 EPROMS for above $10 

1505 MH 100,000 DAY CLOCK, a&I .. $219 

1506 MH INTROl., 64 chan remote 

control a&I $329 

1507 WMC/QM1 12 SLOT MOTHERBOARD . , $ 39 

1508 as above, with connectors ... $ 80 

1509 WMC/MEM1 8K STATIC RAM BOARD . . $ 28 

1510 parts only for above , . . $ 80 

1403 SSM/CB1 8080A CPU BOARD KIT $134 

1408 SSM/SB1 MUSIC SYNTHESIZER KIT $ 145 

1411 SSM/I04 2 PARALLEL + 2 SERIAL 

PORTS KITS $139 

1414 SSM/102 10 UNIVERSAL. BOARD KIT $ 48 

1417 SSM/VB1B VIDEO INTERFACE KIT $129 

1425 SSM/MB3 2/4K EPROM BOARD KIT ..$ 54 
1420 SSM/MB4 2 MHZ STATIC RAM KIT . . .S 89 

1427 SSM ALTAIR IMSAI EXTENDER 

BOARD $ 10 

1428 connector for above S 4 

1429 SSM/OB1 VECTOR JUMP & PROTO- 

TYPING CARD KIT $ 47 



CCS-California Computer Systems 

WMC=Wameco 

IA = Ithaca Audio 

SSM = Solid State Music 

SDS=SD Systems 

SPL = Speechlab 

HUH = HUH Electronics 

MH = Mountain Hardware 

a&I = assembled & tested 

1432 SSM/MT1 15 SLOT MOTHERBOARD . $ 39 

1433 SSM/MB8A 16K (2708) EPROM BOARD 

1436 SSM/MB9 4K STATIC PROM/RAM 

BOARD KIT $ 64 

1438 SSM/VB2 VIDEO BOARD KIT $139 

1511 IA 2708/2716 EPROM BARE- 

BOARD $28 

1512 IA ZB0 CPU BAREBOARD $ 32 

1513 IA 8K STATIC RAM BARE- 

BOARD $ 28 

1514 IA 5-100 W1REWRAP BOARD $ 28 
1600 CCS S-100 WIREWRAP BOARD $ 29 

1516 SDS VERSAFLOPPY KIT $159 

1517-OSDS EXPANDORAM KIT $185 

1517-16 as above, with 16K RAM $249 

1517-32 as above, with 32K RAM $330 

1517-48 as above, with 48K RAM $425 

1517-64 as above, with 64K RAM . . $500 

1165 NEWTECH MUSIC BOARD a&t $57 

1518 SPL 32 WORD SPEECHLAB a&t $1B9 

1520 SPL 64 WORD SPEECHLAB a&t. $299 

1222 uSOUNDER SOUND EFFECTS BOARD 

a&I $149 



CALIFORNIA COMPUTER SYSTEMS 

XVI 16K STATIC R4N\ 
KIT $285 



A true sialic tarn board designed 
for the S-100 bus. Bank switching 
capability, addressable in 4K blocks. 
FR4 silk screened PC board wilh 
solder mask on both sides! The 
lowesl price TRUE static ram board 
in its class. 



• IEEE y-700 Compatible. 

• True static operation 

• Requires only +5 volts 

• 450 ns 

• Fully buffered 



Bareboard $27.00 



New! From California Computer Systems! 
WIRE WRAP & 
SOLDERTAIL PROTOTYPING 
BOARDS 
your choice $27 



All S-100 signals labeled „, 
board. All circuitry uncom- 
mited except for 4 multiple 
regulator pads. High density 
hole configuration, over 3600 
holes. On-board ground bus. 



8" DISKS 

• Single density 
• IBM Compatible 

$40 box of 10 

Cat No. Type 

1145 32 seclor holes, 

1 index hole 

1146 IBM 32, 3740, 3540, 
3770, 3790 



Double sided, plated thn 
PC board. Accepts 14, 1 
24, 28, 40 pin IC's. 



Cat No. 
Cat No. 



Wirewrap 
Soldertail 



$27 
$27 



SHUGART SA-400 
MINIFLOPPY DRIVEl 



$295 



Hard and soft sectoring, 
single density, 35 track. 
Requires power supply. 
Cal No. 1154 



TRS-80 SOFTWARE 

Cat No. Description CASSETTES P,ke 

1093 SARCON CHESS, II 19.95 

1041 STAR TREK, II 14.95 

1036 SCI Fl CAM! SAMP1IR, I II 5.95 

1042 TAROT l/ll 5.95 

1179 CRIBBACE I, II 9.95 

1192 REAL TIME LUNAR LANDER IL 7.95 

1195 BRIDGE CHALLENGER II 14.95 

1186 AIR RAID l/l 14.95 

11B7 PHOT l/ll 14.95 

1047 OTHELLO t/ll 5.95 

1043 SMALL BUSINE55 BOOKKEEPING l/IL 14.95 

1051 DAILY BIORHYTHM PROGRAM l/ll 5.95 

1049 MICRO TEXT EDITOR I. II 9.95 

1038 INVENTORY MODULAR I'll 19.95 

1153 ED1T-80, texl editor II (32K) 39.95 



VERBATIM 
5 1 /4" DISKETTES 

$27 box of 10 



1147 Soft sector TRS-80, Apple 

1148 Hard, 10 hole North Stir 

1149 Hard, 16 hole Micrppolis 



SEND FOR FREE 

SPRING 

CATALOG 

FEATURING: 

f ACIORY FRESH. PRIMt IC5. LID'S, 
READOUTS. RECTIFIERS, ZtNERS. 
TRS-80 ADD-ONS. 5-100 BOARDS. 
PC AIDS. TEST EQUIPMENT. BOOKS. 
SOFTWARE, AND MORE! 



Pay by check, COD, Visa, or Maslercharge. 
Order by phone or mail. Please include phone 
no. USA add $1.50 for shipping/handling, or 
$2.50 for air. Foreign add $2.00 for surface, 
$5.00 for air. COD's add 85c. All items guaran- 
teed satisfaction for 120 days! 



19355 BUSINESS CTR DR 6B6 NORTHRIDGE, CA 91324 



Circle 170 on inquiry card. 



BYTl |uno 1979 



7400 TTL 



SN74O0N 
SN7401N 
SN7J02N 
SN7403N 
SN7404N 
SN7405N 
SN74MN 
SH7J07N 
SN7408N 
SNMQ9N 
SN741QN 
SN7411N 
SN7412N 
SN7-I13N 
SN7414N 
SN7416N 
SN7417N 
SN7420N 
SN7421N 
SN/423N 
SN7423N 
SN7425N 
SN74?6N 
SN7J27N 
SN7429N 
SN7430N 
SN7432N 
SN7437N 
SN7438N 
SN7439N 
SN7440N 
51(744 IN 
SN7442N 

SN7J43N 

SN7444N 
SN7445N 
SN7446N 
SN7447N 
SN7448N 
SN7450H 
SN7451N 
SN7453N 
SN7454N 
SN7459A 
SN7460N 



CO4DO0 
CD4001 
CD4002 
CD4006 
CD4007 
C04QO9 
CO4O10 
CD40I) 
CD4012 
CD4013 
CD4014 
CD4Q15 
CD4016 
CD4017 
C04QI8 
CD4D19 
CO4020 
CO4021 
CD4022 
CD4023 
C04024 
C04Q25 
C04Q26 
CO4027 



74C0O 
74C02 
74C04 
74C08 
74C10 
74C14 
74C20 
74C30 
74C42 
74C48 
74C73 
74C74 



1.75 



7SMG 

LM106M 

LM300H BO 

LM3Q1CN;H 35 

LM302H 75 

LM304H 1 00 

LM305H .BO 

LM307CN/H 35 

LM306CM/H 1 00 

LM309H 1 TO 

LM309K 1 25 

LM31DCN 1.15 

LU311N/H 90 

LM3IZH 1 95 

LM317K 6.50 

LMliUCN.H 1 50 

LM31BN 1.30 

LM320K-5 1.35 

LM320K-S.2 135 

LM320K-12 135 

LM320K-15 t 35 

LM320K-18 1 35 

LM320K-24 1 35 

LM320T-5 1.25 

LM320T-5 2 1 25 

LM320T-6 125 

LM320T-1? 1.25 

LM320M5 125 

LM320T-18 1 25 

IM320T-24 1 25 

LM323K-5 5.95 

LM324N 1.80 

IM339N .99 

LM340K-5 1 35 

LM340K-6 t 35 

LM340K-8 1 35 

LM340K-12 1.35 

LM340K-15 1.35 



74LSOO 
74LS01 
74LS02 
74LS03 
74LS04 
74LS05 
74LS08 
74LS09 
74LS10 
741S11 
74LS13 
741514 
74LS15 
74LS20 
74LS21 
74LS22 
741S26 
74LS27 
74LS28 
74LS30 
74L532 
74LS37 
74L540 
74LS42 



.29 



SN7470N 
SN7472N 
SN7473N 
SNM74N 
SN7475N 
SN74 76N 
SN7479N 
5N7480N 
SN7482N 
SN7J83N 
SN74B5H 
SN7486N 
SN74S9N 
SN7490N 
SN7491N 
SN7492N 
SN7493N 
SN7494N 
SN7495N 
SN7496N 
SN7497N 
SN 741 DON 
SNN107N 
SN74109N 
SN74I16N 
SN74121N 
SN74122N 
SN74123K 
5N74I25N 
SN74126N 
SN74I32N 
SN74136N 
SH74H1N 
SH74142N 
SN74143N 
SN74H4N 
SN74145N 
SN74147N 
SN7J1J8N 
SN74150N 
SN74I51N 
SN74152N 
SM74153N 
SN74154N 
SN74155N 
SN74156N 
SN74157N 



DHf 



C/MOS 



CD4028 

CO4029 
CD4030 
CD4035 
CD4040 
C0JQ41 
CO4012 
C04043 
CD4044 
C04046 
C04047 
C0404B 
G04049 
CD4050 
CD4051 
CD4053 
CP4058 
C04059 
CD4060 
CD4066 
C04068 
CQ4069 



74C00 



74C85 
74C90 
74C93 
74C95 
74C107 
74C151 
74C154 
74C157 
74C160 
^4 C161 



LINEAR 

L.M340K-18 1.35 

LM34QK-24 1.35 

LM34QT-5 1.25 

LM340T-8 1.25 

LM340T-8 1.25 

LM340M2 1.25 

LM34QT-15 1.25 

LM340T-18 1.25 

LM340T-24 t.25 

LM35BN 

LM370N 

LM373N 

LM377N 

LM380N 

LM3B0CN 

LM381N 

LM382N 

NE501N 

NE510A 

NE529A 

HES31H/V 

NE516T 

NE540L 

NE544N 

NE550N 

NE555V 

NE556N 

NES60B 

ME561B 

NE562B 

NE565N/H 

NES66CN 

NE587V/H 

NE570N 

LM703CN/H 

LM709N/H 



1.95 
3.25 



6 00 

era 

4.B 



74LS00nL 



74LS47 
74LS51 
74LS54 
74LS55 
74LS73 
74LS74 
74LS75 
74LS76 
74LS7B 
74LS83 
74LS85 
74LS8G 
74LS90 
74LS92 
74LSB3 
74LS95 
74LS96 
74LS107 
74LS109 
74LS112 
74LS123 
74 LSI 25 
74! Si 32 
74LS136 



SN74160N 
SN74161N 
SN74162N 
SN74163N 
SN74164N 
SN7416SN 
SN74166N 
SN74167N 
SN74170N 
SN74172N 
SN74173N 
SN74174N 
SH74175N 
SN74176N 
SN74177N 
SN74179N 
SN 74 16 ON 
SN74181N 
SN74IB2N 
SN74I84N 
SS7418SN 
SN741B6N 
SN74168N 
SN74190N 
SN74191N 
SN74192N 
SN74193N 
SN74194N 
SN74195N 
SN74196N 
SN74197N 
SN74196N 
SN74199N 
SN74S200 
SN74251N 
SN74279N 
SN74283N 
SN74284N 
SN74285N 
SN74365N 
SN74366N 
SN743B7N 
SN74366N 
SN74390N 
SN74393N 



CD407O 

CD4071 

CO4072 

C04076 

CD4081 

CD4082 

C04093 

CD4096 

MC14409 

MC14410 

UC14411 

UC144I9 

UC14433 

MCI 4506 

MC 14507 

MC14562 

MC14583 

CD450B 

CD4510 

CD4511 

CD4515 

C0451B 

CD4520 

CDJ566 



74C163 
74CI64 
74C173 
74C192 
74C193 
74C195 
74C922 
74C923 
74C925 
74C926 
80C9S 
80C97 



1 bO 



LM710N 75 

LM711N 3S 

LM723N.H SS 

LM733N 1 DO 

LM739N 1 19 

LM741CWH ,3S 
LM74114N .39 
LM747N/H .79 
LM748N.-H .39 
LM1310N 2.95 
LU145BCK/H .59 
UC148BN i V} 
MCl-iflflN 139 
LM1496N 95 

LM1556V 1/5 
MC1741SCP 3.00 
LMZ11TN 1 95 
LM2901N 2.95 
LM3053N 1 50 
LM3065N 1.49 
LM3900N(3401) 49 
LM3905N 89 

LM3909N 125 
MC5558V 59 

8036B 
LM7S450N 
75451CN 
75452CN 
75453CN 
75454CN 
7549ICN 
75492CN 
75493N 
75494CN 
RC4136 
RC4151 
AC4194 
RC4195 



4.95 



74L5138 
74LS139 
74LSIS1 
74LS155 
74LS157 
74LS160 
74LS1B1 
74LS1B2 
74LS183 
74LS164 
74LS175 
74LS1B1 
74L5190 
74LS19I 
74LS192 
74LS193 
74LS194 
74LS195 
74LS253 
74LS257 
74LS258 
74LS260 
74LS279 
74LS367 
74LS368 
74LS670 



_ 



EXCITING NEW KITS! 



Digital 
Thermometer Kit 



Regulated Power Supply 

5 to 15 VDC 




"Full 1.5 amp at 5 10V 
output — Up to .5 amp 
at 15V output 

•Heavy duty traniformar 

*3 terminal I.C. Volt. Rag. 

■Heat sink provided for 
cooling efficiency 

*PC Board construction 

•120 VAC input 

*Size: 3 1 ,4"v\lx5"Lx2"H 




• Dual sensors — switching control for in- 
door/outdoor or dual monitoring 

■ Continuous LEO .8" ht. display 
•Range; -40°F to 199°F / 40t to 100°C 
■Accuracy: t1°nomlnil 

•Sat for Fahrenheit or Celsius reading 

■ Sim. walnut cose - AC wall adapter Incl. 

■ Size: 3-1/4"Hx6-5/8"Wx1-3/ET'D 



JE210 5 to 15 vdc $19.95 JE300 $39.95 



DISCRETE LEDS 



.200- dll. 
XCS56R led 
XC556G green 
XC556V yellow 
XC556C clear 

.200- dll. 



XC22R 
XC22G 
XC22V 



led 
green 
yellow 
170- die. 



5/S1 
4/S1 
4/S1 
Ml 

5/S1 
Ml 

4/S1 



UV10B red 

.DOS- die. 

MV50 red 6/! 

INFRA-RED LED 

1/4"«1/4"x1/l6-|UI 

5/11 



XC209R 
XC209G 
XC209V 

XC526R ' 
XC526G 
XC526V 
XCS26C 

XC111H ' 

XCI11G 
XC111V 
XC1I1C 



green 
yellow 
clear 



green 
yellow 
clear 



S/S1 
4/S1 
4/S1 

5«1 

4/S1 
Ml 
4/S1 

5/S1 
4/J1 
4/JI 

4/S1 



TIMEXT1001 
LIQUID CRYSTAL DISPLAY 



FIE LO EFFECT 




« DIGIT - 5" CHARACTERS 
THREE ENUNCIATORS 
2.00" X 1.20" PACKAGE 
INCLUDES CONNECTOR 

TIOOI-Trammiuive $7.96 

ilODIA-Rclloclmi 8.26 



DISPLAY LEDS 



MAN 3 
MAN 4 

MAN 7G 
MAN7Y 
MAN 72 
MAN 74 
MAN 82 
MAN 84 
MAN 3620 
MAN 3630 
MAN 3640 
MAN 4610 
MAN 4640 
MAN 4710 
MAN 4730 
MAN 4740 
MAN 4810 
MAN 4840 
MAN 6610 
MAN 6630 
MAN 6640 
MAN 6650 



POLARITY I 

Common Anode- red 
5 x 7 Dol Mairn-ted 
Common Cathode-red 
Common Calnode-red 
Common Anode -green 
Common An ode -yellow 
Common AnodC'red 
Common Cathode -red 
Common Anode -yellow 
Common Cai node -yellow 
Common Anode-orange 
Common Anode-orange x 1 
Common Cain ode -orange 
Common Anode-orange 
Common Cathode-orange 
Common Anode- red 
Common Anode-red t 1 
Common Cathode-red 
Cdmmon Anode -yellow 
Common Cam ode -yellow 
Common Anode - orange -O D 
Common Anode-orange i 1 
Common Caihode -oranfle-0 D 
Common Cathode -orange - t 
CommonAnode-orange 
Common Cathode -orange 
Common Anode-red-0 Q. 



PRICE 
295 
4 95 



TYPE 

MAN 6730 

MAN 6740 

MAN 6750 

MAN 6760 

MAN 6760 

DL701 

01704 

DL70? 

OL72B 

OL74I 

DL746 

OL747 

OL749 

OL750 

DL33B 

FND70 

FND3S8 

FN0359 

FND503 

FN0507 

5082-7730 

HOSP-3400 

HUSP-3403 

5062-7300 

5062-7302 

5082-7304 

SQ82-734Q 



POLARITY 

Common Anode-red : 1 
Common Cathode-red-D D 
Common Caihode-red t i 
Common Anode -red 
Common Camode-ied 
Common Anode-red c 1 
Common Cathode-red 
Common Anode -red 
Common Cathode-red 
Common Anode-red 
Common Anode -red s I 
Common Anode-red 
Common Cathode-red - 1 
Common Cathode -red 
Common Caihode- red 
Common Cathode 
Common Cathode a 1 
Common Caihode 
Common Cathode(FND500) 
Common Anode (FND510) 
Common Anode -red 
Common Anode -red 
Common Caihode red 
4 i 7 sgl Drgil-RHQP 
4 x 7 Sol Oigil-LHOP 
Overranne charade; (-1) 
4 1 7 Sgl Digil-Hexadeomal 



RCA LINEAR 



CA3013I 
CA2023T 
CA30357 
CA3039T 
CA3046N 
CA3059N 
CA3060N 
CA3080T 
CA3081N 



15 CA3082N 2.00 

56 CA3003N 1 60 

48 CA3066N .65 

35 CA3089N 3 75 

30 CA3130T 1 39 

25 CA3140T 1.25 

25 CA3160T 1.25 

85 CA3401N 49 

OQ CA36O0H 3 50 



CALCULATOR 
CHIPS/DRIVERS 

MM5725 S2.9! 

MM5736 2.91 

DMS864 2 01 

OMBB65 1 01 

DMBB87 7! 



CLOCK CHIPS 


MOTOROLA 


MM5309 


S4 95 


MC1408L7 


U M 


MM5311 


4.95 


MC1408L8 


S75 


M i*I5312 


4.95 


MC1439L 


?tw 


MM5314 


495 


MC3022P 


?9S 


MM5316 


695 


MC3061P 


3« 


MM5318 


995 


MC40I6I7441G) 


7.5( 


MM5369 


2 95 


MC4024P 


395 


MM53B7'1998A 


4.95 


MC4040P 


6 95 


MM5641 


9 95 


MC4044P 


4.50 



18 pm LP 
IB pin LP 
20 pin LP 

14 pin ST 
16 pin ST 
18 pin ST 
24 pin ST 

8 pin SO 
14 pin SG 
16 pin SG 
IB pin SG 

BptnWW 
10 pin WW 
14 pin WW 
16 pin WW 
IBpwWW 



IC SOLDERTAIL ~ LOW PROFILE (TIN) SOCKETS 

25-49 50-100 1-24 

.16 .15 ■■ g^sssssjBBBj 22 pm LPS- 37 

.19 .18 M| ■f 24 1,;| ' LF> : - ;i 

4|I1>^>W 26 pin LP *$ 

.28 .27 36 pin LP .60 

■» -M SOLDERTAIL STANDARD (TIN) « P"> LP « 
28 pin ST $ .99 
36 pin ST 1.39 
40 pin ST 159 
SOLDERTAIL STANDARD (GOLD) 

24 pin SG S 70 



WIRE WRAP SOCKETS 
(GOLD) LEVEL #3 



26pmSG 110 

36pmSG '65 

Wftasa i75 

22 pin WW i 95 

24 pin WW 1 05 

28 pin WW 1.40 

36 pin WW 159 

40 pin WW 1.75 



10 OHM 1?()HM ifjOHM 18 OHM ?.'OHM 

27 OHM J.1 OHM 19 OHM 17 OHM Sfi OHM 

66 OHM B2 OHM mo OHM l?0 OHM 150 OHM 

teOOHM ?20OHM 270 OHM 330 OHM .190 OHM 

-170 OHM 560 OHM fiflO (JHM H?0 OHM ik 

'.2* t.5H 1.8* 7.?K /.7K 



1/4 WATT RESISTOR ASSORTMENTS -5% 

$1.75 

1.75 

1.75 

1.75 

1.75 

1.75 

1.75 
ASST. 8R lncludesResistorAssortments1-7(350PCS.) $9.95 ea. 



u> 



1.9K 

ION 



S^ 



6eCK 



n.bK 



tZOK 
UOK 

8?ok 



SO PCS 
SO PCS 
SO PCS 
SO PCS 
SO PCS 
SO PCS 
SO PCS 



S10.00 MINIMUM ORDER— U.S. Funds Only Spec Sheets - Z5< 

California Residents — Add 6% Sales tax 1979 Catalog Available— Sand 41c stamp 



PHONE 

ORDERS 

WELCOME 

(415)592-8097 




EEgmzna 



MAIL ORDER ELECTRONICS - WORLDWIDE 

1021 HOWARD AVENUE. SAN CARLOS. CA 94070 
ADVERTISED PRICES GOOD THRU JUNE. 



TELEPHONE/KEYBOARD CHIPS ^> 

AV-5-9100 Push Button Tileptione Dialler SH.95 

AY-5-9200 Repertory Dialler 14.95 

AY-5-9500 CMOS Clock Generator 4.95 

AY-5-2376 Keyboard Encoder (88 Keys) 14.95 

HD0165 Keyboard Encoder 16 keys 7.95 

74C922 Keyboard Encoder (16 keys) 5.95 



ICM CHIPS 

ICM7045 CMOS Precision Timer 

ICM7205 CMOS LED Stopwatch/Timer 

ICM7207 Oscillator Controller 

ICM7206 Seven Decade Counter 

ICM7209 Clock Generator 



24.95 
19.95 

7.50 
19.95 

6.95 



NMOS READ ONLY MEMORIES 

MCM657) 128 X 9 X 7 ASCII Shitted with Greek 13.50 

MCM6574 128 X 9 X 7 Math Symbol S Pictures 13.50 

MCM6575 128 X 9 X 7 Alphanumeric Control 13.50 

Character Generator 



MISCELLANEOUS 

TL074CN Quad Low Noise bi-fet Op Amp 2.49 

TL494CN Switching Regulator 4.49 

TL496CP Single Switching Regulator 1.75 

I ICM Divide 10/tl Prescaler 19.95 

95H90 Hi-Speed Divide 10/11 Prescaler 11.95 

4N33 Photo-Darlington Opto-lsolator 3.95 

MK50240 Top Octave Freq. Generator 17.50 

OS0026CH 5Mhz 2-phase MOS dock driver 3.75 

TIL30S .27" red hum display w/integ. logic chip 10.50 

MM5320 TV Camera Sync. Generator 14.95 

MM5330 4I» Digit DPM Logic Block (Speciell 3.95 

10110/111 3v> Digit A/D Converter Set 25 00/set 



LITRONIX ISO-LIT 1 

Photo Transistor Opto-lsolator 

(Same as MCT 2 or 4N251 



2/990 



SN 76477 

SOUND GENERATOR 

Generates Complex Sounds 

Low PowBr - Programmable 

3.95 each 



TV GAME CHIP AND CRYSTAL 

AV-3-8500-1 and 2.01 MHZ Crystal (Chip i Crystal -. _ c . 
Includes score display. 6 games and select angles, olc./.aD/SBI 



S8.40 
4.40 
4.40 
1.55 



XR205 
XR210 
XR215 
XR320 

XR-L555 1.50 

XR555 .39 

XR556 .99 

XR567CP .99 

XR567CT 1.25 

XR1310P 1.30 

XR146BCN 3.85 

XR1488 1.39 

XR14B9 1.39 



EXAR 

JE2206KA 14.95 

JE2Z06KB 19.95 

XR1800 3.20 

XR2206 4.40 

XR2207 3.65 



XR2211 5.25 
XR2212 4.35 
XR2240 3.4S 



XR2242CP 1.50 
XR2264 4.25 



XR2556 
XR2587 
XR3403 
XR4136 
XA4151 
XR4194 
XR4202 
XR4212 
XfM558 
XR4739 
XR4741 



3.20 
2.99 
1.25 
1.25 
2.85 
4.9s 
3.60 
2.05 
75 
1.15 
1.47 



TYPE 

1N746 
1N751 
1N7S2 
1N753 
1N754 
IN757 
1N759 
1N9S9 
1N965 
1NS232 
1N5234 
1N5235 
1N5236 
1NS242 
1N5245 
1N45S 
1N456 
1N465A 
IN -1001 



DIODES 

VOLTS W 
3.3 400m 



9.0 400m 
2 400m 
8.2 400m 
5 400m 
5.6 500m 
62 SOOm 
500m 
500m 
50Om 
500m 



7.5 



ISO 10m 
50 PIV 1 AMP 



PRICE 

4/1.00 
4/1 00 
4/1 00 
4/1.00 
4/1.00 
4/1 00 
4/1.00 
4/1 .00 
4/1.00 
26 
26 



6/100 
5/1.00 
12/1.00 



TYPE 

1N4O02 
1N40O3 
1N4004 
1N4O05 
1K40O6 
1N4007 
1N3600 
1N4148 
1N4154 
1N4305 
1N4734 
1N4735 
IN4736 
IN4738 
1N4742 
1N4744 
1N1183 
1N1I84 
INMBS 
1N1186 
1N1188 



YOLTS W 
100 PIV 1 AMP 
200 PTV 1 AMP 
400 PIV 1 AMP 
600 PtV 1 AMP 
800 PIV 1 AMP 
1000 PIV 1 AMP 
50 200m 
75 10m 
35 10m 



PRICE 
12/1 00 
12/1 00 
12/100 
10/1. 00 
10/1. 00 
10/1 00 

6/1.00 
15/1.C 
12/100 



12 1w 
15 1w 

50 PIV 35 AMP 
100 PIV 35 AMP 
150 PIV 35 AMP 
200 PIV 35 AMP 

400 PIV 35 AMP 



SCR AND FW BRIDGE RECTIFIERS 

C360 15ACi4O0V SCR(?N1B49) 

C38M 3SA % GOOV SCR 

2N2328 16Ai"300V SCR 

MOA 980-1 12A (a 50V PW BRIDGE REC 

MDA 980-3 12A (u 200 V FW BRIDGE REC 



C 10681 

MPSA05 

MPSA06 

TIS97 

TIS9S 

40409 

40410 

40673 

2N9I8 

2N2219A 

2N2221A 

2N2222A 

PN2222 Plastic 

2N2369 

2N2369A 

MPS2369 

2N2484 

2N2906 

2N2907 

PN2907 Ptosuc 

2N2925 

MJE2955 

2N3053 



50 
.30 

5/100 
6/1.00 
6/1.00 
175 
1.75 
1.75 
4/1.00 
2/1.00 
4/1.00 
5/1.00 
7/1.00 
5/1.00 
4/1.00 
5/1.00 
4/1 00 
4/1.00 
5/1.00 
7/1.00 
5/1.00 
1.25 
2/1 OQ 



TrtAWslSTORS 



1.95 



2N3055 

MJE3055 

2K33S2 

2N3398 

PN3557 

PN3568 

PN3569 

MPS3638A 

MPS3702 

2N3704 

MPS3704 

2N3705 

MPS3705 

2N3706 

MPS3706 

2N3707 

2N3711 

2N3724A 

2N3725A 

2N3772 

2N3S23 

2H3903 



1.00 
5/1.00 
5/1 .00 
3/1.00 
4/1.00 
4/1.00 
5/1.00 



5/1.00 
5/1.00 
5/1.00 
5/100 
5/1.00 
5/1.00 
5/1.00 
.65 
' 1.00 



2N3904 

2H3905 
2N3906 
2N4013 
2N4123 
PN4249 
PN4250 
2N4400 
2H4401 
2H4402 
2N4403 
2N4409 
2N50B6 
2N5067 
2N5088 
2N5089 
2M5129 
PN5134 
PN5138 
2NS139 
2N5210 
2N5449 
2H5951 



4/1.00 
4/1.00 
4/1 00 

3/1.00 
6/1.00 
4/1.00 
4/1.00 
4/1.00 
4/1.00 
4/1.00 
4/1.00 
5/1.00 
4/1.00 
4/1.00 
4/1.00 
4/1.00 
5/1.00 
5/100 
5/100 
5/1.00 
5/1 00 
3/100 
3" W 



CAPACITOR ZSSS8S CORNER 



10 pf 
22 pi 
47 pi 
100 pf 
220 pi 
470 of 

,001ml 
.0022 
,0047mt 
.01ml 

-1/35V 

.15/35V 
.22/35V 
33/35V 
47/3SV 
68/35V 
1 0/35V 



.47/50V 

1.0/5OV 

3.3/50V 

4.7/25V 

10/25V 

10/50V 

22/25V 

22/50V 

47/25V 

47/50V 

100/25V 

100/50V 

220/25V 

220/50V 

470/25V 

1OO0/16V 

2200/1 6V 



US UL23 LKL 



05 .04 .035 



00 VF 

.0O47 M F 

.OVF 

.022,*? 

047^F 



.12 



100 VOLT MYLAR FILM CAPACITORS 
,022ml 
047ml 



-05 .04 .035 

.05 .04 .035 

.06 .05 .04 

.06 .05 .04 

00 .075 



.12 .10 



.07 



.Imf 



21 



22ml 

+20% DIPPED TANTALUMS ISOUQI CAPACITORS 
.28 23 1/ 1.5/35V .30 

,28 23 .17 22/25V .31 

-28 23 .17 33/25V .31 

28 23 17 4 7/25V .32 

28 23 17 6B/25V 36 

28 .23 17 10/25V .40 

28 23 17 15/25V 63 

MimATLrRE ALUMINUM ELECTROLYTIC CAMCITOM 



.13 .10 



47/25V 
.47/50V 
10/16V 
1.0/25V 
1.0/50V 
4.7/ 16V 
4 7/2SV 
4.7/50V 
10/16V 
10/25V 
10/5OV 
47/50V 
10016V 
10O/25V 
100/50V 
220/1 6V 
470/25V 



RtM»\ Li id 

15 .13 



256 BYTE June 1979 



Circle 200 on inquiry card. 



f Transistor Checker 



D825P (as pictured) PLUG (Meets RS232I $2.05 

0B25S SOCKET (Meets RS232) $3.50 

DB51226-1 Cable Cover tor OB25P or 0B25S $1.75 

PRINTED CIRCUIT EDGE-CARD 

156 Spuing -Tin -DoiAle fieed-Oul — 6iluiacted Contact) — Frts OW to 070 PC Carilj 




- Completely Assembled - 
- Battery Operated - 
The ASI Transittor Checker iacap- 
able of checking a wide range of 
transistor typei, aither"in circuit" 
or out of circuit. To operate, 
simply plug the transistor to be 
checked Into the front panel 
locket, or connect it with the alli- 
gator clip test leads provided. 
The unit safety and automatically 
identifies low, medium and high- 
power PNP end NPN transistors. 
Sire: 3X" N 6Y»" x 2" 
"C" cell batwry not included. 

Trans-Check s 29.95 ea. 



Custom Cables & Jumpers 



£% 



'V 



Part No. 
DB25P-4-P 
0B25P-4-S 
OB25S-4-S 

DJM-1 

DJ16-1 

OJ24-1 

DJ14-M4 

0J16-1-1S 

DJ24-1-24 



OB 25 Series Cables 
Cable Length Connectors Price 

Ft 2-DP25P S15 95 ea 

Ft 1-DP25P/1-25S S16.95 ea 

S17 95 ea 



I It. 2-DP25S 

Dip Jumpers 

1 14 Pin 
1-16 Pin 
1-24 Pin 
2-14 Pin 
2-16 Pin 
2-24 Pin 



1 ft. 

1 II. 

1 It. 

1 ft. 

1 ft 



S1.59 ea. 
1.79 ea. 
2.79 ea 
2.79 ea 
3.19 ea. 
4.95 ea. 



For Cuitpm Cable! a Jumper!, SeB JAMECO 1979 dialog lor 



Pricing 



CONNECTORS 

25 Pin-D Subminialure 



15/30 

18(36 

22/44 

50/100 (.100 Spacing) 

50/100 (.125 Spacing) 



PINS (Solder Eyelet) 
PINS (Solder Eyelet) 
PINS (Solder Eyelet) 
PINS (Wire Wrapl 



SI. 95 
52.49 
S2.95 
S6.95 



PINS [Wire Wrap) R681-1 M.95 





Solar Cells 
2x2cm 



• 0.4 volts 

• 100mA 

•41 MW 



Can be added in series for 
higher voltage or parallel for 
higher current. 

#SC 2x2 $1.95 ea. or 3/S5.00 



the 3 rd Hand 

MAKES CIRCUIT ASSEMBLY A BREEZEI 

Lett you work with both hands, aa qb- -._ 

Sturdy Aluminum Construction. y9i0V tJif. 

• Clamp "3rd Hand" on edge 
of bench, table or work- 
board. Insert circuit board, 
position components. 

• Flip circuit board to flat 
position for soldering and 
clipping. 





• Bright .300 ht. comm. cath- 
ode display 

•Uses MM 03 1d clock chip 

• Switches lor hours, minutes 
end hold modes 

• Hrs. easily viewable to 20 ft. 

• Simulated walnut case 

• 115 VAC operation 

• 1 2 or 24 hr. operation 

• Incl. all components, cese & 
wall trensformer 

• Size: 6K" x 3-1/8" x 1 %" 



JE701 

6-Digit Clock Kit $19.95 



REMOTE CONTROL 
TRANSMITTER & RECEIVER 




INSTRUMENT/CLOCK CASE 




This case is an injection molded 
unit that is ideal tor uses such 
as DVM, COUNTER, or CLOCK 
cases. It has dimensions of 4V2** 
in length by 4" In width by 
1-9/16" in height. It comes 
complete with a red bezel. 



.PART NO: IN-CC $3.49 each 



MICROPROCESSOR COMPONENTS 



B212 
8214 
8216 
8224 
8226 
8228 
8238 
6251 
8253 
8255 
8257 
8259 




-BMMflMOA SUPPORT DEVICES- 
CPU 

8- Bit Input/Output 

Priority Interrupt Contiol 

tvunecicnal Bus Driver 

Cock Generator /Dmer 

Bus Driver 

System Controller/Bus Onvtr 

Si-siem ConiTothv 

Prog. Comm 1/Ol.uSAflT) 

Prog Interval Timer 

Prop, Pcupn 1/0 (PPI) 

Prog. DMA Control 

Prog Interrupt Control 

NW0/M00 SUPPORT DEViCH— 

MPU 

MPU with Clock ana Ram 

128X8. Static Ram 

Penprt tiller Adapl (MC8820) 

Prtortty imeffupt Controller 

1024X8 &t ROM (MC68A30-8) 

Asynchronous Comm Adapter 

S/nchioiious Serial Data Adapt 

0-000 ops Digital MODEM 

2400 bps Modulator , 



S 995 
3 25 
595 
3.49 
3.95 
3 49 
5.95 
5.95 
70S 
14.95 



-MICROPROCESSOR MANUALS - 



M-Z80 Use. Manual 

M-COP1802 User Manual 
U-2650 User Manual 



$7 50 
750 
500 



ROM'S 

2513(2140) Character Generator (upper case) 
3513(3021) Character Generator! tower case) 
2516 Character Generator 

MM5230M 204B-ei( Read Only Memory 



Quad 3-State Bus. Trans (MC8T26) 
- MICROPROCESSOR CHIPS— MISCELLANEOUS - 



S1495 
24 95 
595 
7 49 
12 95 
14.95 
795 
9 95 
12 95 
1495 
2.25 



28CK780C) 


CPU 


SI99S 


Z80AI780-1 


CPU 


24 95 


CDPIB02 


CPU 


19.95 


2650 


MPU 


19.95 


8035 


8-B't MPU w/dock. RAM. 1/0 lines 


19 95 


P6085 


CPU 


19.95 


TMS9900JL 


15-Bn MPU w/hatdware. multiply 






ft divide 


49.95 








MM500H 


Dual 25 Bit Dynamic 


S.50 


MM503H 


Dual 50 B<l Dynamic 


50 


MM504H 


Dual 18 Bit Static 


50 


MM506H 


Dual 100 EUi Static 


.50 


MM510H 


Dual 64 Bil Accumulator 


.50 


MM5016H 


500/512 Bit Dynamic 


.Bfl 


2504T 


1024 Dynamic 


3.95 


2518 


He« 32 Bit Static 


4 95 


2522 


Dual 132 Bit Sialic 


295 


2524 


512 Sialic 


99 


2525 


1024 Dynamic 


295 


2527 


Dual 256 Bit Sialic 


2 95 


2528 


Dual 250 Static 


400 


2529 


Dual 240 Bil Static 


4.00 


2532 


Ouad 60 Bit Static 


2.95 


2533 


1024 Static 


295 


3341 


Fro 


695 


74LS670 


4X4 Register File (TnState) 


2 49 



1103 

2101(8101} 

2102 

21L02 

2111(8111) 

2112 

1114 

2I14L 

2114-3 

2114L-3 

5101 

5280/2107 

7489 

74S200 

93421 

UP0414 

(MK4027) 
UPD416 

(MK4116) 
TMS4044- 

45NL 
TMS4045 
2117 

MM5262 



256X1 
1024X1 
256X4 
1024X1 
1024X1 
256X4 
256X4 
1024X4 
1024X4 
1024X4 
1024X4 
256X4 
4096X1 
16X4 



- RAM'S 

Static 

Dynamic 

Sialic 

Sialic 

Static 

Sialic 

Sialic M0S 

Static 450ns 

Static 450ns low power 

Sialic 300ns 

Sialic 300ns low power 

Sialic 

Dynamic 

Sialic 

Static instate 

Slatk: 

Dynamic 16 pin 

Dynamic 16 pin 

Sialic 

Sialic 

Dynamic 350ns 
(house marked) 
Dynamic 



9 95 
10 95 
10.95 



PROM'S 

1702* 2048 FAMOS $5 95 

TMS2516 18K' EPROM (Intel 2716) 49.95 
(2716) "Requires single »5V power supply 

TMS2S32 4.KXB EPR0M 89 95 

2708 8K EPROM 10.95 

2716 T I 16K" EPROM 29.95 
"Requires 3 voliarjes. —5V. +5V. +12V 
2048 FAMOS 



V-5-1013 33K BAUD 



6301-1176111 1024 
6330-117602) 256 
82S23 32X8 

82S115 4096 

025123 32X8 

74166 512 

74188 256 



instate Bipolar 

Open C Bipolar 

Open Collector 

Bipolar 

Instate 

TTL Open Collector 

TTL Open Collector 

Static 



EEE CONTINENTAL SPECIALTIES 

PROTO BOARDS 



Proto Board 203 




n ;u3 



•75.00 



Li Will 
(liKlml 



Modal 

Humoar 
PS-4 6.0 « 4.5 « 

PB-100 6 0i4.5*1.4 

PB-1B1 6.0*4.5*1.4 



PrlCT 
S158S 
SHIS 
(22.95 



Proto Board 203 A 




All IN IhiukioI IKl PB101 pl.t 

.[ldil>orul pown luflply llitibitily. 

!■■■ '■■■ i'- .ti- H--I bvoc i,n-i.i, 

I-.., .; i;:.-;.!.!..!.,,..; >i I'll ,'IHI ii.-.i 

uiiim uiii»ii -iiviic (nil -II 
vuC o.s» mpiiirfi, fid' wltt 

."11'iiitl, ind inejicditifnll) idtuil 
roir.ni flipiiir ind nan* 



PISA 



-tsv » 



•124.95 



Model 
Number 
PB-102 
PB-103 
Pfl-104 



Li Win 

llntlml 

7.0*4,5* 1.4 

9.0*6.0* 1.4 

9.6X60X 1.4 



Prlct 
5il5" 
S44.95 
SUM 




3Vi-Dlglt Portable OMM 

a Ovetiou ProletierJ 
. 3 titgn LED Disomy 

• Battenr or 'C operation 
. Auto Zeroing 

. Im* IVe I nom resolution 

• Ovennge reading 

• 10 meg mpul impentlence 
■ DC Accuracy I*, typical 
Fi.ng., DC Vptlige 0-1000V 
AC Votiige 01000V 

Freg Response SO 400 H7 
OC.AC Cutrenl 100mA 
Resistance 10 meg onm 
5M 54- x 4 4- R i 
Accelsorloi: 



AC Adapler BC-28 
Rechargeable 
Satteriei BP 26 



$9.00 
20.1 



Carrying Case LC -28 7.50 



100 MHz 
8-Digit 

. 20 Hi 100 MH2 Range COU liter 

> 6~ LED Display . Four power souces. i e 
. Crystal-controlled limebase Pattenes. 110 or 220V with 

i Fully Automatic charger 12V with auio 

i Portable — completely lighter adapter and external 

SMI -contained 7 2-iOV power supply 

, Sl i,-,75-xMB_ MAX-H30 « 134 95 




ACCESSORIES FOR MAX 100: 

Mobile Chinjif Ellmmaler 

use power Irom car batlerv Model 100 - CLA 13.93 

Chirflir/Ellmlnilor 



use 110 VAC 



I 100- CAI 1999 



REGULATED POWER SUPPLY ®& 

JE200 5V-1AMP JE205 ADAPTER BOARD 

POWER SUPPLY __ - Adapts to JEZ00 - 

±5V,±9Vand±12V 



f 



JE200 $14.95 



•Uses LM309K 
•Heat link provided 

• PC Board construction 
•Provides a solid 1 imp 

e 5 volts 

• Can supply- up to ±GV, 
±9V and ±12V with 
JE206 Adapter 

• I n eludes components, 
hardware & instructions 

•Size: 3K"x5"x2"H - 




•OC/OC converter w/ 

+ 5V input 
■Toriodal hi-speerl 

■witching XMFR 
■Short cire. protection 
•PC Brd. construction 
•Piggy-back to JE200 

board 
•S<2o:3K"x2"x0/ie"h 

JE205 $12.95 



$10.00 Minimum Order — U.S. Funds Only fg" JJjJ " 2S .f 



California Residents — Add 6% Sales Tai 



1979 Catalog Available— Sand 41c stamp 



lameco 



ELECTRONICS 



MAIL ORDER ELECTRONICS - WORLDWIDE 
1021 HOWARD AVENUE, SAN CARLOS. CA 94070 
ADVERTISED PRICES GOOD THRU JUNE 



PHONE 

ORDERS 

WELCOME 

(415) 592-8097 




The Incredible 
"Pennywhistle 103 

»|> I Oa.!*7U Kit Only 

The Pennywhlitle 103 Is capaDle ol recording data to and from audio tape without 
critical speed requirements lor the recorder and it Is able In communicate directly with 
another modem and terminal lot telephone "Hamming" and communications In 
addition, it is tree ot critical adjustments and is built with n on -precision, readily available 
parts. , 
Dili Transmission Method Frequency -Shin Keying, lull-duplex (haJf-duphw 

selectable). 

Maiimum Data Ran 390 e J1Jf j 

Data Format Asynchronous Serai (mum lo mart level reouired 

between each charecier). 
Receive Channel Frequencies . . .2025 Hi for space; 2225 Hi lor mark 
Transmit Channel Frequence! . .Switch selectable: Low (normal) - 1070 space. 

1270 mark; High = 025 Space. 2225 mart. 

Receive Sensitivity -46 dbm accousticatly coupled. 

Transmit Lent -15 dim nominal. Adjustable Irom -6 dbm 

lo -20 dbm. 
flecelia Frsquenty Tolerance . . .Frequency relerence automatically adjusts to 

allow lor operation between 1800 Mi and.2400 Hi. 
Digital Data Interface E1A RS-232C or 20 mA current loop (receiver is 

optoisoialed and non-polar) 

Power Requirement.- 120 VAC. single phase, 10 Watts. 

Persicel All eomponenls mount on 1 single S" by 9" 

printed circuit board All components included 
Requires a VOM. Audio O scillator, Freque.icv Counter and/or Owllosoooe to align 

TRS-80 
16K Conversion Kit 

Expand your 4K TRS-80 System to 16K. Kit 
comes complete with: 

• B each UPD416-1 (16K Dynamic Bams) 250NS 
" Documentation lor conversion 

TRS-16K $99.95 

COMPUTER CASSETTES 

. 6 EACH 15 MINUTE HIGH 
QUALITY C-15 CASSETTES 

. PLASTIC CASE INCLUDED 
12 CASSETTE CAPACITY 

. ADDITIONAL CASSETTES 
AVAILABLE #C-15-$2.50ea 

jtfft&Z CAS-6 
Srhfe-i $14-95 

.»..» i, .. — . . (Case and 6 Cassettes) 

SUP 'R' MOD II 

UHF Channel 33 TV Interlace Unit Kit 

vVide Band 67YV or Color System 
* Converts TV to Video Display rar 
home computers, CCTV camera, 
Apple II, works with Cromeco Daz- 
zler. SOL-20. IRS-80, Challenger, 
etc. 

MOD II is pretuned to Channel 33 
" (UHF), 

q * includes coaxial cable and antenna 

transformer. 

MOD II $29.95 Kll 

£LLV4Mi b£l> 

Model PI BO includes 2-100' spools #28 AWG 
wire wrap wire ». 






Supplies insulated wire from spool to wrap-pom without prsitrip 
ping and precutting using "daisy chain" method. 



Model P180 Tool 



$24.50 



P180A Raplacemant Bit S12.95 

W28-2 Replacement wire (3 spool pkg.) . . $2.75 ea. 
Specify color: A-green B-red C-clear D-Blue 



IDEAL FOR THS 80 

"Plug/Jack Interlace to any 
Computer svstem requiring 
remote control of cassette 
functions" 

The CC100 controls cassette 
motor functions, monitors 
tape location with Its internal 
speaker, and requires no 
power. Eliminates Hie plugging 

and unplugging ot cables dur- 
ing computer loading opera - 
lion from cassette. 



CASSETTE CONTROLLER 




#CC-100 
$29.50 



63-Key Unencoded Keyboard 




This Is a 63-key, terminal keyboard newly manufactured by a 
large computer manufacturer. It is unencoded with SPST keys, 
unattached to any kind ol PC board . A venr solid molded plastic 1 3 
x 4" base suits most application. IN STOCK $29.95/63Ch 



Hexadecimal 
Unencoded 
Keypad 



19-key pad includes 1-10 keys. 
ABCDEF and 2 optional keys and a 
shift key. S10.95/each 




Circle 200 on inquiry card. 



BYTE Iune1979 



257 



What's New? 




Universal Interface Converts IBM 
Selectric Typewriters 




This universal interface unit has 
been designed for IBM Selectric type- 
writer conversions. The unit will inter- 
face to any RS-232, IEEE-488 or par- 
allel port. A microprocessor is included 
on the circuit board for data flow 
control, formatting and character set 
selection. Installation on the Selectric 
is easy and does not affect normal 
typewriter operation. For those who 
do not want to convert their own 
typewriter, the company provides fac- 
tory installation service. Selectric type- 
writers with conversion systems in- 
stalled in accordance with factory 
instructions are still eligible for IBM 
warranty and service provisions. For 
further information, contact ESCON 
Products Inc, 171 Mayhew Way, Suite 
204, Pleasant Hill CA 94596. 

Circle 581 on inquiry card. 



Printerm Model 879 Micro/Mini Printer 




The Model 879 Micro/Mini printer is 
a high speed bidirectional printer which 
prints 120 characters per second at 75 
lines per minute. It has a 9 by 7 or 9 by 
9 high density matrix format, and pro- 
vides up to four copies. The Model 879 
has an ASCII 96 character set (upper 
case, lower case and triple wide expand- 
ed) and is operator switch selectable for 
an 80 or 132 column format. This RS- 
232 and parallel interface printer is 
available with roll paper feed, combina- 
tion pin form and roll feed, or tractor 
feed. It contains 2 K bytes of memory 
for full page video dump. The price is 
$1395 for the standard model. For 
further information, contact Printer 
Terminals Corp, POB 535, Ramona CA 
92065. 

Circle 582 on inquiry card. 



Low Cost Modification to DECwriter 
Printer Adds Graphics 

The Graphics II system is a low cost 
graphics modification for the Digital 
Equipment DECwriter II printer. It is 
available to upgrade existing printers, 
or can be factory installed with a new 
printer. The Graphics II system con- 
sists of a replacement circuit board for 
the DECwriter II and is plug compatible 
with internal cables for simple installa- 
tion. The new circuit board uses the 
Fairchild F8 microprocessor. 

The DECwriter is a dot-matrix 
printer, and the Graphics II allows 
printing of a dot anywhere on the 
page. Bidirectional line feed is intro- 
duced, and the Vector Graphics capa- 
bility allows the printing of a line 
between any two points on the page by 
using ASCII characters to specify the 
end point coordinates. This means that 
graphics can be generated by using the 
printer keyboard. 

ASCII and APL character sets are 
standard, and other character sets can be 
used. Characters can be printed in any of 
four rotational orientations, and printed 
normal size, heavy bold face, or ex- 
panded width. The printing of bar code 
is also available. 

The average printer speed has been 
increased to 50 characters per second, 
and data may be transmitted in bursts of 
up to 1000 characters at 1200 bps. 
Other features included as standard are 
EIA RS-232, 20 mA current loop and 
TTL interfaces, auto linefeed, top of 
form, and horizontal and vertical tabs. 

The Graphics II system is priced at 




$850 as a field installed circuit card. 
For further information, contact Sela- 
nar Corp, 3054 Lawrence Expressway, 
Santa Clara CA 95051. 

Circle 584 on inquiry card. 



High Density Video Programmable 
Memory Module 

The MTX-2064 and MMD-2480 are 
new members of the Matrox video 
programmable memory family (VRAM) 
of TV video controllers. The family 
provides an interface between any micro- 
processor and a TV monitor. On the 
input side the VRAMs look like a 1280 
or 4098 by 8 bit static programmable 
memory with an access time of 500 ns. 
The output of the MTX-2064 is a video 
signal providing a flicker free display of 
20 lines by 64 upper and lower case 
characters. The MMD-2480 provides 24 
lines of 80 characters and limited graph- 
ics capability. No external refresh or 
memory is required. Any character may 
be displayed normally, inversely or 
blinking. 

The bus structure permits direct 
interfacing to most micro and mini- 
computers. Being part of memory, 
the full power of the processor in- 
struction set is available for display 
manipulations. A universal phase lock 
loop module permits the MMD-2480 
to be locked to an external sync source 
such as a TV camera. Another option 




available for both models is a choice 
of American and European television 
standard field rates. 

The units are completely self- 
contained and ready to use, including 
sync generator, programmable memory, 
read only memory and bus interface. 
They are housed in pin compatible 4.5 
by 6 by 0.5 inch (11.43 by 15.24 by 
1.27 cm) modules and draw under 800 
mA from a single +5 V power supply. 
The MTX-2064 is priced at $295 and the 
MMD-2480 is $395. For further infor- 
mation, contact Matrox Electronic Sys- 
tems Ltd, 2795 Bates Rd, Montreal, 
Quebec CANADA H3S 1B5. 

Circle 583 on inquiry card. 



258 lune 1979 © BYTE Publications Inc 



CaMFornja Diq'iTAl 

Post Office Box 3097 B • Torrance, California 90503 



Sankyo Magnetic 
Card Reader 



These Sankyo I/O units are capable of storing and retrieving over 
| 400 characters of data in under two secords. 

The (lexability of this device lends itself to numerous applications. 
I As an input reader to a computerized security system, the com- 
I puter has the ability of identifying the card holder and admitting 
I only those individuals who are authorized to enter the premises 
during specified time frames. The device is also suitable for 
maintaining customer information files, or any other application 
where small amounts of information must be quickly entered into 
a data processing system. 

Accepts 2" by 4" HP style mag-cards. (Similar to bank cards. ) 

Motorized feeder pulls the magnetic card acrosa the four channel 

I read/write head. NEW surplus, original cost $200. Full documentation 



CONNECTORS 



p3 "°<>° L 



4 



^ 



w°\ 



your choice 

DB25P 

male plug & hood 

or 

DB25S female 

»395 

Qty ft. male hd. 

10 3.4S 2.45 1.15 

25 3.15 2.25 1.05 

100 2.85 1.90 .95 

500 2.25 1.60 .85 

IK 1.97 1.37 .73 



Edge 
Connectors 




GOLD 
100 PIN 

IMSAI/ALTAIR 



Imiil toldir .125x250 

Imsil w/w.l25centers 
Altalr ioldert.il. HO ro» 
SPECIALS 
22/44 Kim eyelet. 156" 
25/50 solder tab .156" 
36/72 wide post w/w.156 



43.95 3/4 9.00 
(4.95 3/413.00 
•5.95 3/415.00 

61.95 3/45.00 
41.09 3/42.00 
41.95 3/45.00 



100 Mother Board 




HEXADECIMAL KEYBOARD 

Mail-Switch hexadecimal keyboards are designed lor B*J-^1 95 
microcomputer systems lhal require 4 bit output "^ «^3 "■#■ ■ 

In standard hex code. 



Each assembly consists o' 16 hormstl- 
cally sealed reed switches and TTL 
shot" debounce circuitry. 
Reliable low Iricllon acelal resin 
plungers are credited lor the smooth 
operation and long life oi this premium 
keyboard. 
Requires single t- 5 volt supply. 




T , E o?*41 

50 + «3.85 



a 



Scatcli 

B Pi A N o 

Diskettes 

8inchSoft(IBM> 
8inch 32 sector 
Mini Soft sec. 
Mini 10 sector 
Mini 16 sector 



Certified Digital 

CASSETTES 

Won't drop a BIT! 
*550 




CALIFORNIA 
INDUSTRIAL 

is an 

Authorized 

Dealer of 

Scotch Brand 

Dataproducts 



MEMORY 



£,rTToc, * UNIVAC 
KEYBOARD 



IrilBO 'OWI 10 !4>MITlbl4) 1 tfiri k(-y ailljuvj miChliH 

iQ'mil ■Mow* oni htnatU nuTisfic dill unify 
Orig«ul qtnl Ml (386 uir-.j mi □u*')nlMd in « 



Shugart Associates 



SA800-R Floppy Disk Drive 

The most cost effective way to store data proc- 
essing information, when random recall is a 
prime factor. The SA800 is fully compatible 
with the IBM 3740 format. Write protect cir- 
cuitry, low maintenance & Shugart quality. 




MODEL 43 



Evan if we have to give them 
away, we're going to ship mora 
43't In 1979 than the aggregate 

of all our competitors. 



Model 43AAA 
EACH 3 

875. 



*925. 

RS-232 Interface"!." Add'75.00 




825 

•nfp"ng T5I?| 




krhcvtfrn APPLE/TRS-80 
ClDdlllTl Mini - Soft sector 



SPGCiPL 



TEN KEY 

Data Entry Pad 

$7950 



Plugs directly into you Apple II. 
Allows you to enter numerics, 
punctuation and upper case alpha 
characters, all from the data 
entry pad. Sold assembled in 
walnut finished enclosure. 



APPLE II 

IBK MEMOFT 

COLOR • GRAPHICS* SOUND 

$1024 

PLUS SHIPPING 



Mfg. bug. 
Retail.... 
<119$ 



$449.50 



CALIFORNIA DIGITAL 

16 BIT 8086 

S-100 CPU Board 

Directly addresses one megabyte. 
8 bit unidirectional & 16 bit bi- 
directional. 4K of static memory 
is supplied on board. $650.00 



TRS-80SJ 
APPLE II 

16k memory (8) 4116's 



• As you may be aware, publishers 
require advertisers to submit their 
ad copv 60 to 90 days prior to "press' 
date. That much lead time in a volatile market place, 
such as memory circuits, makes it extremely difficult 
to project future cost and availability. 
To obtain the best pricing on memory we have made 
volume commitments to our suppliers, which in turn 
affords us the opportunity to sell these circuits at the 
most competitive prices. Please contact us if you 
if you have a demand for volume state of the art mem- 
ory products. 




DiciCAST 
A/V-100 

R.F. MODULATOR 

I4AQR Broadcast both 
£,n9m audio and vidio 
on your existing color 
television. Recommend- 
ed for the Apple II. 



STATIC 


1-31 


32-99 


100-5C 


-999 1K+ 


21L02 450nS. 


1.49 


1. 19 


1.05 


.95 .89 


21L02 250nS. 


1.69 


1.49 


1. 45 


* * 


2114 1K.\4 450 


6.95 


6. 50 


6.25 


3.00 5.75 


2114 1Kx4 300 


8.95 


8. 50 


8. 00 


* * 


4044 4Kxl 450 


5.95 


5.50 


5.00 


* * 


4044 4Kxl 250 


9.95 


9.50 


9. 00 


* * 


4045 l]sx4 450 


8.95 


8.50 


8.00 


* * 


4015 lKxl 250 


9.95 


9.50 


9. 00 


* * 


5257 low pow. 


7.95 


7.50 


7.05 


6.75 6.45 


SPECIAL CIRCUITS 






Z80A 4 MHz. 


24.95 


AY5-1013A UART 4.95 


8080A CPU 


9.95 


F 


oppy Di 


sc Controllers 


8085 


22. 50 




VD1771 


single D. 39. 95 


8086 Intel 16 bus 


* 




VD1781 


Double D 65.00 


TMS9300 16 bits 


49.95 




WD 1791 D/D3740 * 




E PROMS 1-15 


16-63 64+ 




1702A 2K 


4.95 


4.50 4.00 




2708 


8K 


9.95 


9.50 9.00 



2716 5vl6K 49.95 45.00 42.50 
532 32K 



|jrj2grjJ rmasBi cttatjjs] 



PORTABLE DATA ENTRY SYSTEM 



These used data terminals were originally designed for chain store inventory con- 
trol and order entry systems. The operator enters the inventory control number, 
merchandise on hand and the unit price. After all pertinent data has been entered into 
the recorder, the main warehouse is telephoned, the handset is placed in the acoustic 
coupler and all the recorded information is transmitted back to the master computer. 
With a little imagination and one of these portable entry systems, you should be able 
to exchange programs and computer information with associates across the country. 
All units were removed from service in working condition. Original cost $2,500. 
Each system comes complete with: 

■Portable Cassette Drive Unit "Five Gould "D" NiCads -DB25 Cable 

■Removable Entry Keyboard .Acoustical Coupler .Shoulder starp 

with LED Display -Battery Charger 



■Full Documentation 



Miniature / 
Switches J, 

#• W 

your choice 
C no 10 SO 100 Ik 
*■">> 5.88 .81.73.66 
SPDT Miniature Toggles 

7101 C&K ON -NONE ON 
7107 jbt ONOFFImnt.ON) I 
710S CK ON-tnioineiit.ONl 

Rocker IBT DPDT 

Rotary 3P-4POS. 

Rotary 3P-6-Pos. 

Push B IN 0.) S.39ea. 4/11 



DIP Switch 



$149 



25 100 IB 

Jl 29 1.15 .97 .83 

specify 4 

"r8 



plj'i.l 




Digital Cassette Oriue 

COMPUTER CONTROLED 



DISCOUNT ' | 

Wire Wrap Center 



•■7950 




This precision I/O assembly features 
remote software controlled search 
capabilities. Two independent capstan 
drive motors allow the computer to 
control direction and speed of the 
transport. 

The assembly consists of a Raymond 
cassette transport, chassis, mother- 
board and three edge cards: read/write, 
capstan drive & control card. 
Current replacement valued at over 
$700.00. Schematics and complete 
documentation Included. USED, but in 
excellent condition. 



1 


C SOCKETS 

wire wrap low profile 
ea. 25 SO aa. 25 50 


s 

14 




37' 36 35 18 17 16 


16 


38 37 36 19 18 17 


24 


89 93 85 36 35 34 


40 


169 155 139 63 60 58 



S23.95 i 

BW630 



50ft. 

'.98 



KYNARwiSP 

500 1,000 11,000 
(9. V15 $105. 



(213)679-9001 



Circle 39 on inquiry card. 



What's New? 



MISCELLANEOUS 



Polytonic Keyboard System Generates 
Orchestral Textures 




The 1550 Stringz-n-Thingz kit is a 
polytonic keyboard system from PAIA 
Electronics, 1020 W Wilshire Blvd, 
Oklahoma City OK 73116. This multi- 
purpose instrument is capable of gen- 
erating orchestral textures consisting 
of violin, cello, and piano voicings. 
A separate output also provides piano 
only, to allow separate processing, 
amplification, or mixing of the two 
types of voices. A full complement of 
operator controls allows switch select- 
able keyboard split, separate mixers 
for upper and lower keyboard, variable 
vibrato and chorusing rate and depth 
controls to allow reed organ and pipe 
organ voicings, and variable sustain 
controls for piano and strings. 

A standard gate trigger jack allows 
the 1550 to be interfaced to any of 
the commercial synthesizers which fea- 
ture systems interfacing jacks. This 
allows capabilities for brass synthesis, 



Energy Monitor Saves Money 

The Energy Monitor is an electronic 
device with a built-in microcomputer 
that budgets energy use on a daily basis 
and converts kW usage to visual dollars 
and cents. The amount of energy used 
is continually and automatically dis- 
played in dollar amounts on a lighted 
digital display. Set a budget, and if 
usage exceeds the desired budgeted 
amount, a warning flashes. At the end 
of the billing period the Energy Monitor 
automatically resets to zero and starts a 
new month's computation. In addi- 
tion to the savings on utility bills, 
consumers are entitled, under the 
Energy Tax Bill, to receive an invest- 
ment tax credit for the purchase of 
this energy-saving tool. 

Installation is simple and inexpensive. 
A lighted panel displays eight functions: 
current dollar cost for energy used, 
projected amount of next bill, amount 
of last bill, billing date, chosen energy 



Computer Desk for Cromemco 
Computers 





budget, cost per kW hour, date and time 
of day. 

The unit retails for $295. For further 
information, contact Dupont Energy 
Management Corp, 3301 Conflans, Suite 
102, Irving TX 75061. 

Circle 605 on Inquiry card. 



Cromemco Is offering a new com- 
puter desk for the System Three and 
other Cromemco computers. The desk 
is styled and constructed to fit into 
any office surroundings or professional 
environment. The computer is mounted 
into a special shelf under the desk. 
This leaves the top free for a termi- 
nal, printer, or other unit, or as a work 
surface, while still providing the oper- 
ator easy access to the computer for 
disk loading and unloading. The desk- 
top is an attractive beige color designed 
to harmonize with the medium light 
wood veneer ends. The top surface is 
a tough, laminated plastic. 

The Computer Desk (Model Z3- 
MDSK) is available for $695. For addi- 
tional information, contact Cromemco 
Inc, 280 Bernardo Av, Mountain View 
CA 94043. 

Circle 607 on inquiry card. 



filtered strings, and other polytonic 
synthesizer effects. 

Optional features include foot pedals 
for volume or sustain time control, 
foot switches for sustain control, and 
the 1551 stereo option to convert 
the mono string output to a true stereo 
output with two switch selectable modes 
of stereo operation. Other options 
include a processor interface to allow 
memorization of string or piano parts 
for later reproduction at any tempo 
and key desired. Also, the processor 
interface will allow the 1550 keyboard 
to simultaneously control a modular 
polyphonic synthesizer system. 

The complete Stringz-n-Thingz kit 
including 84 page, step-by-step assembly 
and operation manual is available for 
$295. 

Circle 604 on inquiry card. 



Right Angle PC Mount Original D 
Connectors 




An expanded range of right angle, 
printed circuit mount original D type 
subminiature connectors has been intro- 
duced by Souriau Inc, 7740 Lemona Av, 
Van Nuys CA 91405. The 831 series 
has been updated to include a fixed 
contact strap and a nonmetallic, fully 
insulated plastic mounting bracket and 
a new Underwriters Laboratory 94-VO 
rated thermoplastic insulator with a 
temperature range of -55°C to +105°C 
(-67°F to 221°F). The 831 series 
modifications are available in all layouts 
from 9, 15, 25, 37 to 50 pin and may 
be used with units from competitive 
manufacturers. 

A comprehensive 12 page catalog 
detailing subminiature D, original D, 
D*M, and Norman/D connectors and 
accessories is available free upon 
request. 

Circle 606 on inquiry card. 



Standard Reference Alignment Cassette 

Magnetic Information Systems has 
announced the Introduction of an align- 
ment reference metal cassette for use in 
the calibrating of digital and word pro- 
cessing equipment. This cassette is pre- 
recorded at 1600 flux changes per inch 
(FCI) on an optical alignment recorder 
which employs precision magnetic heads. 
The magnetic tape is especially made for 
the digital reference tape application. 
These cassettes are priced at $12.50 and 
are available in several special configu- 
rations. For further information, contact 
Magnetic Information Systems Inc, 415 
Howe Av, Shelton CT 06484. 

Circle 608 on inquiry card. 



260 



lune 1979 © BYTE Publications Inc 



ITHACA AIJDTO 



THE OEM MARKETPLACE 



Assembled and Tested 
Added at Ithaca Audio 

Field-proven 
reliable engineering 



Over 15,000 boards worldwide prove Ithaca 
Audio provides the quality and reliability you 
demand. 

Ithaca Audio Boards are fully S-100 com- 
patible, featuring gold edge connectors and 
plated-through holes. All boards (except the 
Protoboard) have fully buffered data and 
address lines, DIP switch addressing, solder 
mask and parts legend. 

Z-80 CPU Board still the most power- 
ful 8 bit central processor available. Featuring 
power-on-jump, provision foron-board 2708. 
Accepts most 8080 software. 

A&T 4 mHz $205.00 

A&T2mHz $175.00 

Blank PC $ 35.00 

Disk Controller Board controls up 

to 4 single or double sided drives. Supported 
by a host of reliable software packages: 
K2 FDOS, Pascal, Basic and complete diag- 
nostics. 

A&T $175.00 
Blank PC $ 35.00 

K2 FDOS Disk software in the DEC 
tradition. Includes character oriented text 
editor (TED), File Package (PIP), Debugger 
(HDT), Assembler (ASMBLE), HEXBIN, 1 
COPY, System Generator (SYSGEN) and 
more. Command syntax follows Digital's 
OS-8/RT-11 format. First in a family of high 
level software. Basic and Pascal available 
now. Soon-to-be-released Fortran. 

K2 Disk $ 75.00 

Video Display Board features the 

full 128 upper/lower case ASCII character 
set. Easy-to-read 16 line x 64 character 
format can be displayed on an inexpensive 
video monitor or modified TV set. Includes 
TTY software. Add our powerful K2 FDOS to 
create a versatile operator's console. 

A&T $145.00 
Blank PC $ 25.00 

8K Static RAM Board High speed 

static memory at a reasonable cost per bit. 

Includes memory protect/unprotect and 

selectable wait states. 

A&T 250 ns $195.00 

A&T 450 ns $165.00 

Blank PC $ 25.00 

2708/2716 EPROM Board mdis- 

pensable for storing dedicated programs and 
often used software. Accept up to 16K of 
2708's or 32K of 271 6's. 

A&T (less EPROMs) $ 95.00 

Blank PC $ 25.00 

2708 EPROMs $ 11.00 

Circle 190 on inquiry card. 



The leading manufacturer of blank S-100 
boards is adding a new wrinkle— now all their 
boards are available assembled and tested. 
"This is a natural progression for the com- 
pany" according to Mr. James Watson, 
President. "Actually we've been supplying 
assembled and tested for some time to our 
volume customers and OEM's, particularly 
those overseas. Our production staff is now 
fully up to speed, so just about everything is 
available from stock." The company sched- 
uled 6 months to phase in assembled and 
tested to allow time to build base inventories, 
before offering the boards to the public. "We 
feel this is quite important. A lot of companies 
have earned themselves a bad name in this 
business by announcing products they can't 
really deliver. We simply won't do that." Mr. 
Watson further explained that Ithaca Audio 
intends to remain leader in blank boards and 
expects to release a minimum of 6 new 
designs by August, which will be offered both 
blank and assembled and tested. 

Memory Prices 
Tumble 

Ithaca Audio first to break 
1C/Byte Barrier 

By cutting prices for 32K of RAM to $319 
Ithaca Audio becomes the first computer 
vendor ever to offer high speed memory for 
less than a penny a byte. Commenting on the 
announcement, Steve Edelman, Director of 
Engineering said "Just a few years ago 
people were wishing for a penny a bit, and 
even now memory for most large computers 
costs about 2«/byte and that's only in 1 
Megabyte chunks." In fact it's the relative 
modest capacity of the 32K board that makes 
it so interesting. Users need not buy the full 
64K to take advantage of the low price per bit. 
Furthermore, the board is available both as a 
kit and assembled and tested. 
Delivery is stock to two weeks. Pricing is: 

• 32K kit $319 

• 32K A&T $359 

• 64K kit $645 

• 64K A&T $695 

8" Disk Drives 

Shugart compatible Memorex 550's are in 

stock. 

Single and double density compatible, 330K 

bytes capacity with our controller or use your 

own. 

Either way $456 

Protoboard Universal wire-wrap board 
for developing custom circuitry. Room for 
three regulators. Accepts any size DIP 
socket. 

Blank PC $ 25.00 



Pascal/Z Ready 

The first Pascal Compiler for the Z80, and the 
fastest Z80 Pascal ever is now ready. Over 
one year in development, Ithaca Audio was 
obviously pleased with the results. "We really 
have outperformed them" states Jeff 
?/ ->skow, Director of Software Engineering, 
beaming over the recently released bench- 
marks, in which Pascal/Z averaged better 
than five times the speed of a recent P-code 
implementation. 

"Pseudo-code means a vendor only has to 
supply one compiler to lots of people using 
lots of different machines, and that makes his 
life very easy, but it also means users' pro- 
grams execute significantly slower. There- 
fore, we chose to write a native compiler that 
delivers fast re-entrant ROMable code, with 
no need for an intermediate language and 
interpreter. That's where our speed comes 
from." As a matter of fact, Pascal/Z is often 
twenty times as fast as UCSD's implementa- 
tion and may well be faster than dedicated 
Pascal machines such as the recently 
announced Western Digital Pascal Micro- 
engine.™ Unlike the Microengine, Pascal/Z 
does not require any new special CPU 
hardware and has the added benefit of com- 
patibility with existing Z80 software. 

Operational requirements of Pascal/Z are 
the Ithaca Audio K2 Operating system and 
48K of memory during compiles. The output 
is standard Z80 Macrocode which is linked 
and run through the Ithaca Audio Macro- 
assembler. Binary files may be as small as 
2.5K, or even less if the full library is not used. 
The compiler, including the Macroassembler, 
is available on an 8" K2 floppy disk. Price 
including full documentation is $175.00. The 
Macroassembler is available separately for 
$50.00. Delivery is from stock. 

More Software: 

For those that don't require the speed of a 
compiler like Pascal/Z, Ithaca Audio also 
offers the convenience of BASIC. BASIC/Z, 
an extended version of TDL's Super Basic, 
runs in slightly over 12K and is supplied on an 
8" K2 disk for $75.00. 

SAVE Even More - 

When you buy your software as a package 

K2 and Pascal/Z $225 

SAVE $25 

K2, Pascal/Z and Basic/Z $275 

SAVE $50 



HOW TO ORDER 

Send check or money order, include $2.00 shipping per order. 
N.Y.S. Residents include tax. 

For technical assistance call or write tO: 



ITHACA 
AUDIO 



P.O. Box 91 

Ithaca, New York 14850 

Phone: 607/257-0190 



BYTE June 1979 



261 



Whal's New? 



SOFTWARE 



Personal Computer Software Packages 







dmvm 



<#;.,- 



ft<t*;. 






GRT Corporation's G/2 personal 
computer software group has introduced 
15 program packages containing 26 dif- 
ferent programs for education, family 
entertainment, personal development 
and household data management. The 
G/2 line is compatible with the Radio 
Shack TRS-80, Apple II, Exidy Sor- 
cerer, Processor Technology SOL and 
Southwest Technical Products 6800 
computers. 

The first available G/2 System 
Software includes two BASIC pro- 
gramming language packages by Micro- 
soft. The G/2 Standard BASIC for 
the Southwest Tech 6800 computer 
is faster than Southwest Tech's BASIC, 
and offers 6800 owners a significantly 
broader selection of application pro- 
grams. The G/2 Extended BASIC for 
the Processor Technology SOL is totally 
compatible with SOL's operating system, 
and provides features not available in 
Processor Technology BASICs. 

Every G/2 product is produced on 
a tape cassette and packaged in a sturdy 
hard cover book style box along with an 
instruction manual. The application pro- 
grams include source listings. The price 
for the G/2 personal computer program 
packages is $14.95; $34.95 for the 
Southwest Technical Products Standard 
BASIC; $49.95 for the SOL Extended 
BASIC. For further information, con- 
tact GRT Corp, 1286 Lawrence Sta- 
tion Rd, Sunnyvale CA 94086. 
Circle 575 on inquiry card. 



Time Series Analysis and Statistical 
Software Package for North Star 

Potters Programs, 22444 Lakeland, 
St Clair Shores Ml 48081 has announced 
a comprehensive time series analysis and 
statistical software package written in 
BASIC for the North Star floppy disk 
system. This package allows the user to 
load data into disk data files, edit the 
data, analyze it with aseries of programs, 
and output the data in various conven- 
ient formats. 

The analysis programs include a fast 
Fourier transform, auto correlation, 
cross correlation, distribution function, 
probability function, negative peak, posi- 
tive peak, average, root mean squared, 
and various statistical and correlation 
calculations. The data can be recorded 
on disk from manual input or from ana- 
log to digital converters. It can be 
scanned and edited to remove obvious 
noise, and any part of the file can be 
analyzed by any of the methods. This 
package is available on North Star disk 
for $120. 

Circle 576 on inquiry card. 



Learn PET BASIC 

PET BASIC Compleat consists of 
twenty lessons of PET BASIC, including 
all the major BASIC keywords, cursor 
control, screen editing, and use of the 
graphic characters. This two cassette 
tutorial is especially designed for begin- 
ning Commodore PET users. The 170 
page manual which accompanies the 
cassettes is indexed for quick reference, 
three hole punched for easy review, 
and reproduces all data appearing on 
the screen (except PET's graphics). 
Quizzes and exercises add to the fun 
of learning how to use and program the 
Commodore PET. The package is priced 
at $39.95. For further information, 
contact ARESCO, POB 43, Audubon 
PA 19407. 

Circle 577 on inquiry card. 



Accounting Programs for Small 
Computers 

The Standard Software Library is a 
series of books containing listings or pro- 
grams written in BASIC with complete 
documentation. Each volume in the series 
is devoted to a single application. 

The first three volumes deal with ac- 
counting programs for small computers. 
Volume 1 (General Ledger) enables a 
small business to set up a fully automated 
general ledger system with a complete 
chart of accounts. Included are programs 
for editing, sorting, merging and posting 
of transactions. A trial balance report is 
available in either summary or detail at 
the user's option. Income statement and 
balance sheet reports may be obtained at 
the close of each accounting period with 



Software for the PET and TRS-80 

Speakeasy Software has announced 
the availability of consumer oriented 
software for the PET and TRS-80, 
in addition to the Apple versions. The 
titles fall into two categories: the Con- 
tinuing Education Series, which includes 
financial analysis and transactional anal- 
ysis; and the Home Entertainment Series 
with Warlords, Bulls and Bears, Sports- 
trivia, Microtrivia, and Kidstuff. For 
further information, contact Speakeasy 
Software Ltd, POB 1220, Kemptville, 
Ontario CANADA K0G 1J0. 

Circle 578 on inquiry card. 



Software and Hardware for Jolt and 
TIM Owners 

Three new products have been 
announced by The 6502 Program 
Exchange, 2920 Moana, Reno NV 
89509. The JAB (Jolt Adapter Board 
Kit) is a hardware device designed to 
interface the Jolt computer to the 
KIMSI S-100 interface. The $19 JAB 
Kit includes a manual and all parts 
except the Jolt connectors. 

A program called ERAC (Editor 
and Resident Assembler Controller) 
was developed for users of the read 
only memory version of the Jolt Resi- 
dent Assembler. ERAC allows source 
text and object code to be placed in 
programmable memory. Residing in 
2 K bytes, ERAC is an extension of the 
RAP. A paper tape is available for 
$5 and the manual is $4.50. 

LEDIP (Line Editor Program) is a 
compact line oriented text editor that 
readily lends itself to modification or 
expansion. LEDIP will output source 
text suitable for usage with the program- 
mable read only memory version of the 
Jolt Resident Assembler. The paper tape 
is $2.75, the manual is priced at $3.25 
and the cross assembly is $5. 

Circle 579 on inquiry card. 



both current and year-to-date totals and 
percentages. Volume 2 (Accounts Re- 
ceivable) provides a fully automated 
system for dealing with customer ac- 
counts. Volume 3 (Payroll) enables a 
business to automate all of the normal 
payroll functions. 

All of the programs are written in a 
level of BASIC which is common to al- 
most all current microprocessors and 
minicomputers. The modular nature of 
the programs and the accompanying 
documentation make it easy to revise 
the program to meet special user re- 
quirements. The price of the Standard 
Software Library is $49.95. For further 
information, contact Creative Computer 
Consultants Inc, POB 2111, Norwalk CT 
06852. 

Circle 580 on inquiry card. 



262 



June 1979 © BYTE Publications Inc 



10-DAY FREE TRIAL 



Send for our 
FREE Catalog 




NC€ COMPUMARrS 
P€T LUflfi€HOUS€ 

We have more PETs than anyone, call for quick delivery. 



1*1*595 




4K • Keyboard C $ 595 

8K - Keyboard C $ 795 

16K - Keyboard B $ 995 

16K - Keyboard N $ 995 

32K - Keyboard C $1195 

32K - Keyboard B $1195 

32K - Keyboard N $1195 

C — calculator keyboard (only version with tape deck) 
B — large business keyboard without graphics symbols 
N — large keyboard with graphics symbols 

^ apple II 

200 FR€€ ACC€SSORI€S 

Buy a 48K Apple II, mention this ad and take $200 in 
accessories free (if ordered together). This offer is good 
for $150 on 32K and $100 on 16K Apple ll's. Now you can 
enjoy more of the best for less. 

16K Apple II — $1195 (take $100 in free accessories) 
32K Apple II — $1345 (take $150 in free accessories) 
48K Apple II — $1495 (take $200 in free accessories) 

Apple II Accessories 

Centronics Printer Interface $225 

Disk and Controller $595 

Second Disk Drive $495 

Parallel Printer Card $180 

Communications Card $225 

Hi-Speed Serial Card $195 

Firmware Card $200 

Hobby/Proto Card $24 

Microverter RF Mod $35 

Sanyo M2544 Recorder $55 

0\ Hazeltine 
1400 



PET ACCESSORIES 

ommodore Dual Floppy Disk Drive $1295.1 

New! PET Terminal Package $69.< 

Second Cassette — from Commodore $95.( 

Commodore PET Service Kit $30.( 

Beeper - Tells when tape is loaded $24. S 

Petunia - Play music from PET $29.1 

Video Buffer - Attach another CRT $29.1 

Combo - Petunia and Video Buffer $49.1 

New Serial Printer Interface for PET $79.S 

Integral Data Printer w/new interface $878.1 

PET - Compatible Selectric in Desk $895.( 

TTY KSR-33 Screen Printer for PET . . .CTJIJ. $395.( 
Originate/Answerback Modem for PET .TV .tV$320.( 

Bi-directional RS-232 Interface $280.( 

Betsi 4-slot S-100 Motherboard $160.1 

S-100 PET Interface was $289.00 SALE S99.C 



,%. UP TO $100 ONI 

^i ^ READER/PUNCH 

Our reconditioned paper tape Reader/Punches are reli- 
able performers and now for a limited time they're all on I 
sale! The serial Reader/Punch which was $950 is sale 
priced at $850. The Reader/Punch alone is marked down | 
from $175 to $157, prices with interface follow: 

Interface Interface Interface Interlace, Power 

Model Added and Power and Enclosure 

Serial $472 $616 $850 

Parallel S355 $598 S675 



gfps 



tfOC* 



N Only 
$699.00 



Now a 5th Generation 
in Terminals: 
Immediate Delivery 

Hazeltine 1410 with numeric keypad $835 
Hazeitine 1500 full of features 0jS» $999 
Hazeltine 1510 with buffer logic $1149 

Hazeltine 1520 with printer interface $1499 

call or write for more information 



OF THE 

MONTH 

PET 



TERMINAL OPTION 



fff 



**: 



Get a PET & a terminal in one 
Data rates to 2400 baud 
Full Duplex operation 
Auto line wrap-around 
With or without auto line-feed 

Buy any model PET & get a free NCE PET 
terminal option, normally $69. Now your PET 
can handle two different jobs. You can use 
the PET for a powerful BASIC computer or 
you can load our machine-code program to 
use the PET as a dumb terminal (not both at 
once). Please specify this option with order. 

For those of you who already have a PET, you 
may order an NCE PET Terminal option sepa- 
rately for $69. 



Qgjk 



LOW-COST PRINTER 
FOR PET 



INTRODUCTORY 
PRICE $395 




Tl < 

PROGRAMMER 



calculator convene vfc i 
UO* 

Reg. $59.95 " $49.95 




NCE/CompuMart 

1250 North Main Street, Department BY69 
F.0. Box 8610 Ann Arbor, Michigan 48107 



Datel /Selectric 

Table-top 

Terminals 

!ffi& List $279.95 

S^v£ $189.95 

S-100 MPA 




«w *$ 



10 DAY RETURN PRIVILEGE 



S-100 MPA gives your PET 
complete control of the S-1 00 
bus (even DMA). Get an 
assembled unit at kit price. 



(313) 994-3200 



CAT 
COUPLE 



New 300 baud 
Originate/ Answerback 
Acoustic Coupler. 
Looks good, works 
great and sale 
priced at 



$189. 



6 



SANYO 
MONITOR 



$169.95 

"' $214.95 

EXPAND YOUR KIM 
SYSTEM: 

KIMSI 

KIM to S-100 Board 

Assembled $169 

Connector Set 15 

KIM 4 

Expansion board 89.95 

MICRO TECH POWER SUPPLY 
Assembled S34.95 

KIM ENCLOSURE 

Give your KIM a iroiessionai appear- 
ance No alterations reamreo slurdy 

« w .. ,«,„,,« 50 



• Michigan residents add 4% saies tax • Add 4% 
shipping and handling lor all domestic orders 

• Foreign orders (except Canada) add 10% 
additional handling (U.S. currency only) • P.O.'s ac- 
cepted from D & B rated companies — shipment 
contingent upon receipt of signed purchase order 

• Phones open from 9:00 a.m. to 7:00 p.m. EST 
Monday-Friday, 10:00 a.m. to 5:00 p.m. Saturdays 



• Open accounts invited — call for credit applica- 
tion • Most items in stock for immediate shipment 
— call for delivery quotation • Sorry, no C.O.D.'s 

• All prices subject to change without notice • In 
the Ann Arbor area? Retail store open 11:00 a.m. to 
7:00 p.m. Tuesday-Friday, 10:00 a.m. to 5:00 p.m. 
Saturdays (Closed Sunday and Monday) 

SEND FOR FREE TERMINAL FLYER 



Circle 283 on inquiry card. 



BYTE lime 1979 



263 



What's New? 



MISCELLANEOUS 



Parallel/Serial I/O Card with Modem 




The 8P2SM Parallel/Serial I/O (input/ 
output) card with modem is the latest 
product from MicroDaSys, POB 36051, 
Los Angeles CA 90036. It combines 
eight parallel ports (including full 
handshaking) with two serial Input and 
output ports. It also enables the user 
to configure one set of serial ports for 
full RS-232 operation, and the other 
as a full duplex answer or originate 
modem. A complete documentation 
package is included with the board. 
The price is $149 in kit form and $199 
completely assembled and tested. 

Circle 598 on inquiry card. 



Self-Pace Logic Trainer 




The Model 100 Broder Logic Trainer 
trains students without previous elec- 
tronic background for digital electronic 
related assignments. It improves and 
grades the ability of the user. The Model 
100 includes all gates, flip flops, positive 
and negative edge triggered devices, 
master-slave clocking, preset and clear 
functions. Switch circuit and Venn 
diagram problems as well as BCD and 
binary counting modes are included. 

Physical logic state manipulation 
and the visual- display make for fast 
and retained learning. In operation, 
the user manipulates component logic 
states using the eight logic switches. 
Solving a problem requires logic switch 
manipulation to force a logic 1 at the 
problem card output, which will turn 
on the designated bar indicator. A 
manual, 40 digital problems, and a 9 V 
battery cell are Included. The Model 
100 requires no wire or integrated circuit 
manipulation. It is priced at $69.95 
and is available from L J Broder Enter- 
prises Inc, 3192 Darvany Dr, Dallas 
TX 75220. 

Circle 599 on inquiry card. 



Floppy Disk Read Amplifier System 
From Motorola 

Motorola has introduced its MC3470 
Floppy Disk Read Amplifier System. 
Combining both linear and digital func- 
tions on one integrated circuit, the 
MC3470 provides all signal processing 
from the read head through to the stand- 
ard logic level digital output. 

Contained in the circuit are the re- 
quired gain stages, an active differ- 
entiator-comparator for peak detection 
and a time domain filter for wave shap- 
ing and elimination of false outputs. 
External connections for the required 
filter network, active differentiator and 
timing control components allow the 
system designer optimum flexibility in 
meeting overall system performance 
requirements. 

This single monolithic device pro- 
vides a standard TTL (transistor-tran- 
sistor logic) digital output which is free 




from amplitude and waveform variations 
present at the read head, with a guaran- 
teed maximum unadjusted peak shift 
of 5.0%. 

The MC3470 Floppy Disk Read 
Amplifier is available in an 18 pin plas- 
tic dual-in-line package at the price of 
$5.95 for quantities of 100 and up. For 
more information, contact Motorola 
Semiconductors, POB 20912, Phoenix 
AZ 85036. 

Circle 600 on inquiry card. 



Apple II Software 

The MUSE Co, POB 13365, Balti- 
more MD 21203 has announced a com- 
plete line of software for the Apple II 
computer. A full feature text editor 
($17.95) allows management of free 
form text. Multiple space compression 
and tape I/O (input/output) are used 
for efficient file storage. U-Draw 
($17.95) is a high resolution program- 
mable graphics editor with tape I/O 
for storing finished drawings. Docu- 
mentation includes instructions for link- 
ing figures to user programs. The Elec- 



tric Crayon ($17.95) is a graphics 
editor similar to U-Draw but in low 
resolution color. The Music Box 
($12.95) gives three octaves of sound 
with no additional hardware. Type in 
a song, and the Music Box will play 
it for you. Notation includes sharps, 
flats, note time, rests, dotted notes 
and tempo. It can be retuned easily 
for special sound effects. The Number 
Cruncher ($9.95) is a set of single 
precision math and ASCII to hexa- 
decimal subroutines. Games which are 
priced at $1 2.95 each are also available. 

Circle 601 on inquiry card. 



DC Motor Speed Control in a 
Dual-ln-Line Package 

This monolithic integrated circuit DC 
motor speed control, housed in a 14 
pin, low profile plastic dual-in-line pack- 
age, is available from Cherry Semicon- 
ductor Corp, 3600 Sunset Av, Waukegan 
IL 60085. Designated the CS-175, the 
motor speed control is designed to pro- 
vide maximum flexibility at a low cost. 
Requirements for adjustment and exter- 
nal components in multiple speed appli- 
cations have been reduced by giving 
accurate, pin-programmable speed ratios 
for slow, medium, or fast motor veloc- 
ities. 

While many other applications are 
possible, the CS-1 75 is primarily Intended 
for use with AC tachometer signals. 
The unit Is capable of providing such 
stability that errors are dominated by 
terms created by the finite loop band- 
width made necessary to ensure stabil- 
ity with the dynamics of the specific 
motor and load. 

The price for the CS-175 is $1.68; 
$.79 in 1,000 piece quantities; and 
$.65 in 10,000 quantities. 

Circle 602 on inquiry card. 



New Module Solves TRS-80 Cassette 
Drive Hang-Up 




The TBUFF module is a simple inex- 
pensive nonrepair shop solution for TRS- 
80 cassette drive hang-up. The module 
simply plugs in series with the remote 
cable between the TRS-80 and the 
recorder. TBUFF reduces the current 
passed through the reed relay in the 
TRS-80. At the same time, TBUFF 
delivers full power to the recorder, 
thus maintaining proper tape speed 
and volume levels. TBUFF sells for 
$7.95 (California residents add 6%). 
For further information, contact Web 
Associates, POB 60, Monrovia CA 
91016. 

Circle 603 on inquiry card. 



264 June 1979 © BYTE Publications Inc 



oULIU oTATE oALto . . . *J$nnotvnc&& « ^tea^lA^oua/i in ^B<ymfvu^i tfeciwicdciyu 




A PICTURE MAY BE TAKEN BY OUR CAMERA, 

STORED IN A COMPUTER IN REAL TIME AND THEN 

DISPLAYED ON A CRT AT AN AFFORDABLE PRICE 



VIDEO COMPUTER 

PROCESSING 
SYSTEM 




THIS REMARKABLE VP-1 COMPUTER/ 
INTERFACE KIT HAS THE FOLLOWING: 

FEATURES 

• IT PRODUCES COMPOSITE VIDEO 
OUTPUT IN A 128 x 128 MATRIX 
FROM A DIRECT MONITOR CONNEC- 
TION USING 8K OF MEMORY 

• THE SYSTEM USES A STANDARD 
S 100 BUSS 

• WILL NOT TIE UP COMPUTER 
SOFTWARE WHEN NOT ADDRESSED 

• IT DISPLAYS CONTINUOUSLY 
WHEN NOT ADDRESSED 

• IT MAY PRODUCE PSEUDO COLOR 
AND/OR GRAPHICS (UP TO 16 GREY 
LEVELS, 4 BIT BINARY) 



GRAY LEVELS 

THE CAMERA WILL TAKE BETWEEN 
15 AND 100 FRAMES/SECOND. 
THE CAMERA CONNECTS TO THE 
PROCESSOR WITH SEVEN LINES. THIS 
INCLUDES VIDEO ANDTIMING SIGNALS 

APPLICATIONS 

• CONTINUOUS SURVEILLANCE 

• INSPECTION OF MOVING PARTS 
WITH PROPER STROBING 

• VISUAL GRAPHIC INPUT TO A 
COMPUTER 

• CHARACTER OR PATTERN 
RECOGNITION 

• PICTURES MAY BE TAKEN DIRECTLY 
FROM A TV WITHOUT ELECTRICAL 
CONNECTIONS 

• THE INTERFACE KIT MAY BE USED 
SEPARATELY AS A 128x128 

16 LEVEL GRAPHIC DISPLAY 



OUR VP1 VIDEO SYSTEM CONSISTS 
OF THE FOLLOWING KITS: 

• CCD 202C SOLID STATE VIDEO CAMERA 
KIT ASSEMBLED & TESTED $499°° 

t VP-1 COMPUTER/VIDEO INTERFACE 
SYSTEM (3 BOARDS) ASSEMBLED & 
TESTED $999 00 

• ASSEMBLED 8K MEMORY BOARD 
(OPTIONAL) $235°° 



THIS VIDEO COMPUTER KIT 
CAN WORK WITH THE GE, 
REDICON, OR ANY OTHER 
128 x 128 SENSOR CAMERA 



REGULATED 
POWER SUPPLIES 

POWER SYSTEMS f PS1 1 1 1 
115-230V 50/60 cy. in 5v DC at 35A out. 
6"x 16'/."x I6J4" 26 lbs. shipping weight $55.00 
POWER SYSTEMS t PS1 106 
115-230V 50/60 cy. in 12wDCat 15A out. 
5"x 1SK"x 5" 19 lbs. shipping weight. S49.00 

IOV PROTECT) 



C/MOS (DIODE CLAMPED) 



4001 - 


.18 


4019 - 


,37 


4049 - 


.J5 74C73- 


4002 - 


.18 


4020 - 


qo 


4050 - 


■35 74C74- 


4006 - 


.95 


4021 - 


flO 




65 74C86- 


4007 - 


.18 


4022 - 


.90 




1,0 74C93- 


4009 - 


.37 


4023 - 


.18 




'- 25 74C15I 


4010 - 


,37 


4024 - 


.75 




'12 74C160 


4011 - 


.18 


4025 - 


.18 


4071 - 

4072 _ 


■« 74C161 
2 74C174 
gf 74C175 


4012 - 


.18 


4027 - 


.37 


4013 - 


,aa 


4028 - 


.80 


4014 - 










gi 74C192 


4015 - 


.7b 


4030 - 


.33 


4520 - 


.70 74C193 


4016 - 


.29 


4035 - 


.97 


74 C00- 


,22 74C901 


4017 - 


1X15 


4042 - 


.B5 


74C02- 


.22 74C902 


4018 - 


.90 


4(W4 - 


G r . 


74C10- 


.27 74C9I4 



7S33ST*TIC: 
TMS405ONL 



PRINTED CIRCUIT BOARD 



7WATTLD65LASERDIODEIR $a95 



2N 3820 P FET S 45 

2N 5457 M FET $ 45 

2N2646.UJT $ .45 

ER 900 TRIGGER DIODES 4 SI 00 

2N 6028 PROG UJT $ 65 

MINIATURE MULTI-TURN TRIM POTS 
100, IK, 2K, 5K, 10K, 20K, 50K. 
200K, 1Meg, 2Met), $.75 each 3/S2.00 

CHARGED COUPLE DEVICES 

CCD 201C 100x100 Imago Sonsor $95.00 

CCD 202C 100x100 Image Sensor S145.00 

VERIPAX PC BOARD $4.00 

This board is a 1/16"single sided pa»t»r epoxy 
board. 4K"x8X" ORILLED and ETCHED which 
will hold up to 21 single 14 pin IC's or 8,16 or LSI 
DIP IC's with bi 

FP 1 00 PHOTO TRANS S .50 

RED, YELLOW, GREEN 

LARGE LED's. 2" 6/$1 .00 

TIL-1180PTO-ISOLATOR S .75 

MCT-6 OPTO ISOLATOR $ .80 

1 WATT ZENERS: 3.3, 4.7, 5.1, 5.6, 9.1, 

10,12, 15, 18, or 22V 6/S1.00 

MCM 6571 A 7 x9 character gen . .$10.75 

UNIVERSAL 4Kx8 MEMORY BOARD KIT 

£69.95 

32-2102-1 fully buffered, 16 address lines, on 

board decoding for any 4 of 64 pages, standard 

- " KIM 



TRANSISTOR SPECIALS 

2N6233-NPN SWITCHING POWER $1.95 
MRF-8004 a CB RF Transistor NPN * "75 

2N3 772 NPN Si TO-3 ... , $ 1 .00 

2N1546 PNP GE TO-3 $ .75 

2N4<Jf>8 I'NP Si TO 3 S 1.00 

2N508G PNP Si TO-92 . . ,4'S 1.00 

2N3137 NPN Si RF $ .55 

2N3919 NPN Si TO-3 Rf . . S 1 .50 

2N1420 NPN Si TO 5 3/$ 1.00 

2N37G7 NPN Si TO 66 S .70 

2N2222 NPN Si TOO 8 . . 5/S 1.00 

2N3055 NPN Si TO-3 , . S .50 

2N3904 NPN Si TO-92 6/S 1.00 

2N3906 PNP Si TO-92 6/S 1.00 

2N529G NPN Si TO 220 . S .50 

2N6109 PNP Si TO-220 $ .55 

2N3638 PNP Si TO 5 5/S 1.00 

MPSA 13 NPN Si 4/$ 1.00 



Full Wave Bridges 



.20 



1.75 



1.00 



DIP SOCKETS 

S PIN ,17 24 PIN .35 
14 PIN .20 28 PIN .40 
16 PIN .22 40 PIN .60 

18 PIN .25 



SANKEN AUDIO POWER AMPS 

i 1010 G 10 WATTS $ 7.80 

i 1 02O G 20 WATTS $1 5.70 

i 1050 G 50 WATTS . . $28.50. 



TANTULUM CAPACITORS 



4 STATIC - 



5.000 MH* 
6.000 MHz 
0.000 MH] 

10 000 MHz 



RIBBON CABLE 
FLAT (COLOR CODED) 
#30 WIRE 
26 cond. - .50/per loot 
40 cond. • .75/per foot 
50 cond. ■ .90/per foot 



4" diameter .4V at 1 AMP $10.00 

CTS 206-8 eight position dip switch $1.60 

CTS 206-4 four position dip switch $1.45 

LIGHT ACTIVATED SCR's to 18. 200 V 1 A. .$.70 



SILICON SOLAR CELLS 
214" diameter ,4V at 500 ma $4.00 



FND 359 C.C. .4" $ .60 LED READOUTS 

FCS8024 4 digit DL-704 C.A. .3" $ .7 



C.C. 8' r display $5.95 DL 747 C.A. .„ 
FNO 503 C.C. .5" $ .85 HP3400 8"CC 
FND 510 C.A. .5" $ .85 HP3405.8"CA 
DL 704■.3'■ C.C. S .85 




.22UF 35V 5/S1.00 
.47UF 35V5/$1.0O 
.68UF 35V5/S1.00 
1UF 35V 5/$1.00 
2.2UF20V5/$1.00 
3.3UF 2OV4/$1.0O 
4.7UF 15VS/S1.00 



6.8UF 35V4/$1.00 

10UF 10V $.25 

22UF 25V $.40 

15UF 35V 3/$ 1.00 

30UF 6 V 5/$1.00 

33UF 20V $.40 

47UF 20V $.35 

68UF 15V $.50 



Send Check or Money Order. 



Order $5.00. CODS S20.00 



SOLID STATE SALES 

P.O.BOX 74 B 

SOMERVILLE, MASS. 02143 TEL. (6171 547-7053 



WE SHIP OVER 95% 

OF OUR ORDERS THE 

DAY WE RECEIVE THEM 



Circle 340 on inquiry card. 



BYTE June 1979 



265 



Visit our new retail location 



The EXPANDORAM is available 
in versions from 16K up to 64K, so 
for a minimum investment you 
can have a memory system that 
will grow with your needs. This is 
a dynamic memory with the in- 
visable on-board refresh, and IT 
WORKS! 

• Bank Selectable 

• Phantom 
Power 8VDC, ± 16VDC, 5 Watts 
Lowest Cost Per Bit 
Uses Popular 4116 RAMS 
PC Board is doubled solder 
masked and has silk-screen 
parts layout. 



SD EXPANDORAM 

1U tUu*Hotc S-iOO TfUmvuf, 



)ISC DRIVES 




Sugart SA400 5 1 /." 

with attractive metal case 
$29500 

Sugart 801 
with attractive metal case 

$495.00 

Siemens FDD200-88" 
double-sided 
| double density 

$599.00 




• Extensive documentation clear- 
ly written 

• Complete Kit includes all 
Sockets for 64K 

• Memory access time: 375ns, 
Cycle time: 500ns. 

• No wait states required. 

• 16K boundries and Protection 
via Dip Switches 

• Designed to work with Z-80, 
8080, 8085 CPU's. 

EXP AN DO 64 KIT (4116) 

16K $245.00 

32K $310.00 

48K $375.00 

64K $440.00 



DISC CONTROLLER 

SD "VERSAFLOPPY" KM 

The Versatile Floppy Disk r\nlw Si kqoo 
Controller Viliy 10» 





FEATURES: IBM 3740 Sofl Sectored Compati- 
ble. S-100 BUS Compatible (or Z-80 or 8080, Con- 
trols up to 4 Drives {single or double sided). 
Directly controls the following drives: 

1. Shugart SA400/450 Mini Floppy 

2. Shugart SA800/850 Standard Floppy. 

3. PERSCI 70 and 277. 

4. MFE 700/750. 

5. CDC 940419406. 

6. GSI/Siemans FOD120-8. 

34 Pin Connector lor Mini Floppy. 50 Pin Con- 
nector lor Standard Floppy. Operates with 
modified CP/M operating system and C-Sasic 
Compiler. The new "Versafloppy" from S.D. 
Computer Products provides complete control 
for many ol the available Floppy Disk Drives. 
Both Mini and Full Size. FD1771B-1 Single Den- 
sity Controller Chip. Listings for Control Soil- 
Included in price. A 



SAVE $ 100< 

DM2700S DISK & 

CABINET with 
POWER SUPPLY 

DM2700S includes Siemans 
FD120-8" Disk Drive with the 
following features: 

• Single or Double Density 

• Hard or Soft Sector 

• Door Interlock 

• Write Protect 

• Hard Sector Detection 

• 500 KB/S Transfer 

• 800 KB unformated 

• Bit density 6536 BP1 

• Sugart 800 Series Compatable 

DM2700S Disk Drive & Cabinet 
REG. $750 SALE PRICED 




Cabinet includes: 

• 110V to 125V 60 Hz power supply 

• Data Cable 

• Fan 

• Accepts per SCI, Shugart, Siemans 
8" Drives 



<%? 



«"/ 



5 650 



00 



DM2700 Cabinet, less Drive 

^2495! $225 00 



Logic Probes and Digital Pulsers 



LOGIC PROBES 

CSC logic probes are the ultimate tool for breadboard design and testing. 
These hand-held units provide an Instanl overview ol circuit conditions. 
Simple to use; just clip power leads to circuit's power supply, sel logic 
family switch to TTL'DTL or CMOSJHTL. Touch probe to test node. Trace 
logic levels and pulses through digital circuits. Even stretch and latch for 
easy pulse detection. Instant recognition ol high, low or invalid levels, open 
circuits and nodes. Simple, dual-level detector LEDs tell It quickly, correct- 
ly. HI (Logic "1"}; LO (Logic "0"). Also Incorporates blinking pulse delector. 
e.g.. HI and LO LEDs blink on or off, tracking "1" or "0" states at square 
wave frequencies up to 1.5 MHz. Pulse LED blinks on lor Vi second during 
pulse transition. Choice of three models lo meet Individual requirements; 
budget, project and speed of logic circuits. 
MODEL LP- 1 

Hand-held logic probe provides instant reading of logic levels forTTL, DTL, 
HTL or CMOS. Input Impadancn: 100,000 ohms. Minimum Detectable Pulse: 
50 ns. Maximum Input Signal (Frequency): 10 MHz. Pulse Detector (LED): 
High speed train or single event. Pulse Memory: Pulse or IbvbI translllon 
detecled and stored. ^^ — 

kCSC Model LP-1 Logic Probe— Net Each JWWJS $42.70 




MODEL LP-2 

Economy version of Model LP-1. Safer than a voltmeter. More accurate than 
a scope. Input Impedance: 300.000 ohms. Minimum Detectable Pulse: 300 
ns. Maximum Input Signal (Frequency): 1.5 MHz. Pulse Detector (LED): High 
speed train or single event. Pulse Memory: None. ^^ . 

CSC Model LP-2 Logic Probe-Net Each »4^5 $23.70 

MODEL LP-3 

High speed logic probe. Captures pulses as short as 10 ns. Input im- 
pedance: 500,000 ohms. Minimum Delectable Pulse: 10 ns. Maximum Input 
Signal (Frequency): 50 MHz. Pulse Detector (LED): High speed train or 
single event. Pulse Memory: Pulse or level translllon detecled and stored. 
CSC Model LP-3 Logic Probe — Net Each 5fo*h§5 $66.45 



DIGITAL PULSER 

The ultimate In speed and ease of operation. Simply connect clip leads to 
positive and negative power, then touch DP-1's probe to a circuit node; 
automatic polarity sensor detects circuit's high or low condition. Depress 
the pushbutton and trigger an opposite polarlly pulse Into the circuit Fast 
troubleshooting Includes Injecting signals at key points In TTL, DTL, CMOS 
or other popular circuits. Test with single pulse or 100 pulses per second 
via built-in dual control push-button; button selects single shot or con- 
tinuous modes. LED indicator monitors operating modes by flashing once 
for single pulse or continuously for a pulse train. Completely automatic, 
pencil-size lab/field pulse generator for any family ot digital clrculls. Out- 
put: Trl-state. Polarity: Pulse-sensing auto-polarity. Sync and Source: 100 
mA. Pulse Train: 100 pps. LED Indicator: Flashes for single pulse: stays lit 
for pulse train. 
CSC Model DM Digital Pulsar— Net Each $£4*3$ $71.20 




S100 



4807 
DECLSI-11, PDP8. PDP11. 
Heath H-11. P Pattern Epoxy 
Glass, Plug Board 8.43"x5.187' 
Dual 36 pin DEC/HEATH 

Connectors. 

14 5-9 1024 

10.95 17.96 15.96 



VECTORPAK ASSEMBLED 
MICROCOMPUTER CASES 

Adjustable packaging system for S-100 bus 
microcomputers, compatible with Altair 
8800 and IMSAI 8060 size cards. 

• Smart looking, deluxe cases unmarred by 
unsightly screws or fasteners. 

• Finished in dark blue textured vinyl. 

• Instantly accessible Interiors with slip out 
covers. 

• Removable recessed rear and 
panels. 

• Fully adjustable Interior mounting 
systems for any card or card spacing within 
size limitations. No cutting or drilling 
necessary. 

• Perforated bottom cover for cooler opera- 
tion. 

DESCRIPTION 
Assembled case with perforated bottom 
cover. Installed mounting struts for card 
guides and receptacles or mother board. 
Cards top loaded, spanning front to back. 
Card guide (12 pair) and chassis plate sup- 
plied uninstalled. 



PLUG BOARDS 

^#1 



MOM 
Plain no etched circuitry except contacts. Pro- 
duces maximum flexibility. 

14 5-9 10-24 

14.95 13.46 „^Bw11.( 






8*02-1 
Pad per 2 holes. Two-holE pads allow tack solder- 
ing of socket, plus second hole tor component 
leads. 



U04 

"ANY DIP" has full power and ground planes back 
to back. Board accommodates 3, 4. 6. 9" Dips. 
14 5-9 10-24 

21.95 19.76 17.56 



VP-1 
Iront $163.00 

Shipping Weight 25 lbs 



VP-2 
$159.00 

Same as VP1 except 




PRIORITY 

16723B Roscoe 






ndivldual tinned square pads surround most holes. 
Ideal for mounting components by "tack soldering" 



Top ol board pod free for mounting I/O connectors. P owe r buses. 

104 
34.00 



4608 

Is form and size compatible with IN- 
TEL SBL60 Series and NATIONAL 
BLC 80 Series microcomputer 
boards. Power and Ground buses on 
both sides. 

14 5-9 10-24 

45.00 40.50 36.00 

46081 

Same as 4608, except plain less 



5-9 
17.95 



10-24 
15.96 



5-9 
30.60 



10-24 
27.20 



ELECTRONICS 




Sepulveda, CA 91343 

Terms: Visa, MC, BAC, Check, Money Order, C.O.D. U.S. Funds Only. CA residents add 6% sales lax. 
Minimum order $10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling 
minimum $2.50. Excess refunded. Just In case . . . please include your phone no. 
Prices subject to change without notice. 
We will do our best to maintain prices thru June 1979. OEM and Institutional 

phone orders welcome (213) 894-8171, (800) 423-5633 inquiries invited. 






Visit our new retail location' c ^™°»^™« 



HICKOK LX303 $74.95 



HICKOK LX303 

$7495* 




.5%, 3'/i digit 19 

Range DVM. Vt" LCD displays 

runs 200 hrs on 1 battery. 10 Meg 

Ohm Input. 1 yr. guarantee, made in 

U.S.A., test leads included. 

Available Accessories 

RC-3 1 15V AC Adapter $7.50 

CC-3 Deluxe Padded Vinyl 

Carrying Case $7.50 

VP-10 X10 DCV Probe Adapter/ 

Protector 10Kv $14.95 

VP-40 40Kv DC Probe $35.00 

CS-1 10 Amp Current Shunt $14.95 



FREE 



Just for Asking. 
FREE BATTERY with your meter. 




.JVliwGNOUOAUPSI tuvo-ievr 



1 IMSAI 1010 rTUC'OCDmSutrl' 11 •ISllOf MJJI] 



Price 
$29.50 



1/16 pBCtffi BOARD 

.042 dia holes on 

0.1 spacing for IC's 

Phenolic 

PART NO. 
64P44XXXP 
169P44XXXP 




$318. 

MS- 1 5 
MINISCOPE 



Wild fitchnyolt Batttnts & ChMige' Unll 



• 15 megahertz bandwidth. 

1 External and internal trigger. 

1 Time base — .1 microsec. to 0.5 SeCdi 

settings .^3%. 
' Battery or line operation. 
1 Automatic & line sync modes. 
1 Power consumption < 15 waits. 

VortlMl Gain — .01 io50V/di« 12 sailings 

Caaa alia 2J"H « 6.4"w ■ 7 5"D. 3 pounds 



•21 



PROBE 1C 



fc PROBE IC With Ihe 
urchase of SCOPE 
id. the MENTION or 
this MAGAZINE 



j MS-215 Dual Trace Version of MS-15 $435. ^ 




UNGARmatic" 

Controlled Soldering Station 
THREAD-TOGETHER MODULAR DESIGN FOR 
QUICK, ONLINE HEATER OR TIP CHANGE 

• Available in 3 presel temperatures; 
600*F . 70O*F. or 800'F (or any application. 

• Closed loop, non-magnetic control. 

• Low vollage syslem: 3 wire grounded. 

• Biomechanics! designed handle with cool grip for operator comtorl. 
Cord is super flexible 3 wire grounded, heat resistant 

• Large capacity snap-on tray and sponge, removable lor optional pla:o- 

• Long life interchangeable tips, iron clad, chrome plaled. pre-linned. 

• Designed lor use on sensitive components 

COMPLETE STATION AND REPLACEABLE HEATER SELECTION GUIDE 
Timptnlurt Cempkate SUtwn Ccniioilni Hultr Hi 

600*F. 50T6 »76 

700*F 50T7 #77 

BOOT 50T8 *78 

Each ol the abova stailons include: »70B Power Supply with on/oil swilcn. 
indicator light, and 3 wire power cord; K71 Handle with 3 wire heat resistant 
secondary cord: IB9 Tray and Sponge: *72 Iron Holder. Controlled Healer 
with #67 Screwdriver lip 1/16" 

#95 TIP ADAPTER Tip Adapter M5 lor special micro applications This 
Adapter Is designed tor the use ol 1/8" threedin Princess Nibs 
Controlled Heaters: JU-B5 Each. Tlpa: S2.25 Each. Adapter; S1.30 Each 

List $59.50 SALE PRICE $49.95 



s* 



V.e SD EXPANDORAM 

1U IUUhuiU. S-IOO TKtmvuf 



-—ail 






if 
H 



The EXPANDORAM is available 
in versions from 16K up to 64K, so 
for a minimum investment you 
can have a memory system that 
will grow with your needs. This is 
a dynamic memory with the in- 
visable on-board refresh, and IT 
WORKS! 

• Bank Selectable 

• Phantom 

- Power 8VDC, ± 16VDC, 5 Watts 

• Lowest Cost Per Bit 

• Uses Popular 4116 RAMS 

• PC Board is doubled solder 
masked and has silk-screen 
parts layout. 



Wi-aW4-„ 






IIW1T 

• Extensive documentation clear- 
ly written 

• Complete Kit includes all 
Sockets for 64K 

• Memory access time: 375ns, 
Cycle time: 500ns. 

• No wait states required. 

• 16K boundries and Protection 
via Dip Switches 

• Designed to work with Z-80, 
8080, 8085 CPU's. 

EXPANDO 64 KIT (4116) 

16K $245.00 

32K $310.00 

48K $375.00 

64K $440.00 



Plugboards 




8800V 

Universal Microcomputpr/processor 
plugboard, use with S-100 bus Com- 
plete wilh heal sink & hardware 5 3" x 
10*1/16 

1-4 5-9 10-24 

$19.95 S17.95 115.98 

8801-1 

Same as B800V except plain less power 
buses & heat sink 
1-4 5-9 10-24 

SU 95 Sl.l-lb S119I. 



3682 9.6"x4.5" 

S10.97 

3682-2 6.5"x4.5" 

$9.81 

Hi-Density Dual-ln-Line 
Plugboard for Wire Wrap 
with Power & Grd. Bus 
Epoxy Glass 1/16" 44 
pin con. spaced. 156 




3677 9 6"x4.5' 

$10.90 

3677-2 6.5" X 4.5" 

$9.74 

Gen. Purpose D.I. P. 
Boards with Bus' Pattern 
for Solder or Wire Wrap. 
Epoxy Glass 1/16" 44 
pinccn. spaced .156 



3662 6.5"x4.5" 

$7.65 

3662-2 9.6" X 4.5" 

$11.45 

P pattern plugboards for 
IC's Epoxy Glass 1/16" 
44pincon. spaced .156 



3690-12 
CARD EXTENDER 

Card Extender has 100 con- 
tacts 50 per side on .125 
centers-Attached connec- 
tor-is compatible with 
S-100 Bus Systems. $25.83 
3690 6.5" 22/44 pin .156 
ctrs. Extenders ... $13.17,, 




TRS-80/APPLE 

MEMORY EXPANSION KITS 
4116's RAMS 

(16Kx1 200ns) 

8 for $69.00 




2708 

8K 450 ns 

EPROM 

FACTORY PRIME 

$9,OOea. 

25 + Call For 
Price 



14& 16 PIN 

^GOLD 3 LEVEL 

\WIRE WRAP 

SOCKETS 

'14 - G3 100 for 
$30.00 
16-G3 100 for 
$30.00 
50 of each for $32.00 

Sockets are End & Side stackable, 
closed entry 



2114N-3L 



4096 -BIT (1024x4) 300 ns 
Low Power Static Ram 

8 for s 50° 



ORDER TOLL FREE 

1 8004235633 



except CA . AK. 
(213) 



HI. Call 



PANAVISE TILTS. TURNS, AND \ it ""- 
ROTATES TO ANY POSITION. 
IT HOLDS VOUR WORK 
, EXACTLY WHERE YOU WANT IT. 



2102LPC 

450ns Low Power RAMS 

$1.00 Ea.in lots of 25 

2102LHPC 

250ns Low Power RAMS 



WRAP POST 

for .042 dia. holes 
I (all boards on this page) 
IT44JC pkg. KM . I 2.34 
I T44JM pkg. 

1000 $14.35 

I A-13 hand installing 

tool $ 2.94 




PRIORITY I ONE 



16723BPoscoe Blvd. 



$1.25 Ea.in lots of 25 

1 ELECTRONICS 



TMS 4044/ 
MM 5257-3L 

4096x1 300 ns 
Low Power Static Ram 

8 for s 50 00 




Sepulveda CA 91343 

Terms: Visa, MC, BAC, Check, Money Order, C.O.D. U.S. Funds Only. CA residents add 6% sales tax. 
Minimum order '$10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling, 
minimum $2.50, Excess refunded. Just in case . . . please include your phone no. 
Prices subject to change without notice. 
We will do our best to maintain prices thru June 1979. OEM and Institutional! 

ohone orders welcome (213) 894-8171, (800) 423-5633 inquiries invited. 



2716 

5 volt only 
16K EPROM 



HICKOK LX303 $74.95 



HICKOK LX303 $74.95 



We have 5V 2716's in Stock. We have the Best Prices on 2102's, 2114's, 4116's. 



^mmrntfrnmcBJimonsmm 



S100WWG 50/100 Conl, .125 clrs. 3 
LEVEL WIRE WRAP .025" SQ. posts on 
.250 spaced rows. GOLD PLATED. 
1-4 5-9 1024 

S4.00 S3.75 S3.50 

S100ALT 50/100 Conl. .125 clrs. DIP 
SOLDER TAIL on .140 spaced rows for 
ALTAIR motherboards. GOLD plated. 
1-4 5-9 10-24 

14.00 13.75 S3.50 



S10OSTG 50/100 Cont. .125 clrs. DIP 
SOLDER TAIL on 250 spaced rows lor 
VECTOR and MASI motherboards GOLD 
plated. 

1-4 6-9 10-24 

S3.50 53.25 J3.00 

S100SE 50/100 Conl. .125 clrs. PIERCED 
SOLDER EYELET talis. GOLD 

1-4 5-9 10-24 

15.00 S4.50 S4.25 



OTHER POPULAR EDGE CONNECTORS 

All Edge Card Connectors are GOLD PLATED (not Gold Flash) Bodies are non brittle 
res.. G.E. Valox, Contacts are Bifurcated; Phos/Bronze: GOLD over Nickel. 

ABBREVIATIONS: SE = Solder Eyelot WW = 3 Laval Wlra Wrap ST = Solder 

.100" Contact Center Connectors 



PART NO. 

D132B-1SE 

D22441WW 

D2250-1SE 

D2250-1ST 

D2040-1SE 

D2040-1ST 

02040-1 WW 

D 3060-1 WW 

D3672-1SE 

D3672-1ST 

D 3672-1 WW 

D4080-1SE 

D4080-1ST 

040801 WW 

D4386 1SE 

D4386-1ST 

D4386-1WW 

D50 100-1 WW 



PART NO. 
D3672-2WW 
D40802WW 
S100-STG 



PART NO. 

S6X-5SE 

D612-5SE 

D1224-5SE 

D2224-5ST 

D1530-5SE 

D1530SST 

D15305WW 

D1B36-SSE 

D2244-5SE 

D2244-5ST 

D2244-5WW 

D3672-5SE 

03672-5ST 

D3672-5WW 

OE43B6-5SE 

D4386-5ST 

D4386-5WW 

CG-1 



PART NO. 

OE-9P 

OE-9S 

0E-9C 

DA15P 

DA15S 

DA1SC 

DB-25P 

OB-25S 

DB51212-1 

DB1226-1A 

OB 110963-3 

0C37P 

DC37S 

0C37C 

OO50P 

0D50S 

DD50C 

02041 B-S 



Part tt No. of 
Pins 
P08P02 8 
P14P02 14 
P16P02 16 
P18P02 18 



8STG 
14 SO 
16STG 
18STQ 
20STG 



TYPICAL APPLICATION 

Imsal M10. SIO 

Vector Plugboards 

Imsai P10. Intel Mulllbuss 

Imsal P10. Intel Multibuss 

TRS-80 

TRS-80 

TRS-80 

Inte* Multibuss 

Vector Plugboards 

Vector Plugboards 

Vector Plugboards 

PET 

PET 

PET 

Cos. ELF 

Cos. ELF 

Cos. ELF 



2.60 
4.00 
3.70 
3.50 
3.20 
3.00 
3.30 
4.10 
5.00 
4.95 
4.90 
5.95 
5.00 
5.20 
5.60 
5.40 
5.50 
5.95 

.125" Contact Center Connectors 

TYPICAL APPLICATION 1-4 
5.25 
Vector 4350 5.95 
S-100, Imsal, Vector, Cromenco, Mother- 
boards 3.50 
S-100 Wlra Wrap 4.00 
Allair 4.50 



2.40 
3.80 
3.50 
3.30 
3.05 
2.85 
3.15 
3.90 
4.75 
4.70 
4,65 
5.70 
4.75 
4.95 
5.35 



3.25 
3.75 
4.25 



.156 Contact Centers Connectors 



TYPICAL APPLICATION 
Pel. NSCCLK Modules 
Pet. NSCCLK Modules 



Vector Plugboards, GRI Keybrds 
Vector Plugboards. GRI Keybrds 
Vector Plugboards. GRI Keybrds 

Vector, Kim, etc. 

Vector, Kim, elc. 

Vector, Kim, etc. 

Vector Plugboards 

Vector Plugboards 

Vector Plugboards 

Mot 6800. Intel Multibuss, NSC pacer 

Mot 6800, Intel Multibuss. NSC pacer 

Mot 6800, Intel Multibuss. NSC pacer 

Imsai Style Card Guides 



1-4 

1.40 
1.60 
2.40 
2.30 
2.50 
2.40 
2.60 
3.00 
3.00 
3.00 
3.95 
5.50 
5.45 
5.60 
6.00 
5.90 
6.50 
5/1.00 



PRICE 
5-9 

1.30 

1.50 

2.30 

2.20 

2.35 

2.25 

2.40 

2.80 

2.60 

2.80 

3.70 

5.30 

5.25 

5.40 

5.75 

5.65 

6.30 
or 100/10.1 



RS232 & "D" TYPE CONNECTORS 

P = Plug-Male S = Socket-Female C = Cover-Hood 



DESCRIPTION 

9 Pin Male 
9 Pin Female 
9 Pin Cover 
15 Pin Male 
15 Pin Female 
15 Pin Cover 
25 Pin Male 
25 Pin Female 

1 pc. Grey Hood 

2 pc. Black Hood 
2 pc. Grey Hood 
37 Pin Male 



^'iffiWi^ | 



,3m 



95 
.50 
200 
2.90 



37 Pin Female . — I ^V*V»V»V.V.VJ ^ — . 

37 Pin Cover o V '7 o\ 
50 Pin Male *■ — i FEMALE — 1 * 



BPlPB u eutuo. 



50 Pin Female 
50 Pin Cover 
Hardware Set 12 pair) 

Connector (or CENTRONICS 700 SERIES: 
-30360 for back of Centronics 700 Series printers 1 
DIP PLUGS 
PRICE 
1-24 25-99 100-499 Part I 



1.80 
1.70 
395 
5.50 
200 
5.00 
6.50 
250 
1.00 



2.70 
1.60 
2.20 
3.10 
1.35 
1.50 
1.40 
3.75 
5.25 
1.80 
4.75 
6.00 
2.30 



10-24 
2.20 
3.60 
3.40 
3.10 
2.90 
2.70 
3.00 
3.70 
450 
4.45 
4.40 
5.45 
4.50 
4.70 
5.05 
4.90 
5.00 
5.55 



10-24 

4.75 
5.35 

3.00 
3.40 
4.00 



10-24 
1.20 
1.40 
2.20 
2.10 
2.10 
2.05 
2.15 
2.60 
2.20 
2.50 
3.40 
5.00 
5.00 
5.10 
5.25 
5.15 
5.90 



10-24 
1.10 

1.45 
1.10 
1.55 
2.45 
1.30 
2.05 
2.95 
1.20 
1.35 
1.25 
3.50 
4.90 
1.60 
4.60 
5.75 
2.20 



.41 



.36 



.57 



.29 
.34 
.38 
.46 



P22P02 
P24P02 
P28P02 
P40P02 



No. of 
Pins 
22 
24 
28 
40 



GOLD SOLDERTAIL STANDARD 

25-49 50-99 

.27 .24 22STQ 

32 .29 24STO 

35 .32 28STG 

.47 .43 40STG 

56 .52 

TIN SOLDERTAIL ■ LOW PROFILE 



-$9.00 5-UP-J750 



1-24 25-49 50-99 



.70 .63 
1.10 1.00 
175 1.55 




1-24 25-49 

.25 .16 

.25 .18 

.25 .20 



22CS2 
24CS2 
28CS2 
40CS2 



3 LEVEL GOLD WIRE WRAP SOCKETS 

Sockets purchased In multiples of 50 per type may be combined tor 



^unbeatable GREAT JUMPERS 




FLAT RIBBON 
CABLE ASSEMBLIES 
AT AFFORDABLE PRICES 

" Choice of 3 types of end connectors molded 

on and factory tested. 
1 Daisy chain and single-end also available. 

■ 5 popular sizes to choose from: 
20, 26. 34. 40 and 50 contacts, each 
with line-by-line probe access holes. 

■ Choice of 2 cable types and 5 lengths. 

FLAT RIBBON CABLE 

Slranded, 28 AWG with laminated PVC insulation. 

"Electric Pink" cable has led stripe on one edge for ori- 
entation Used only on double-end and daisy chain as- 
semblies 

"Rainbow" cable is coded in standard 10-color se- 
quence on from Serpentine Striping on back aids in identi- 
fying wire number and wile group during tear-down sepa- 
ration lor discrete wire terminations. Used only on single- 
end jumoers 

PCB JUMPERS 
DOUBLE END 
Elactric Pi 




CARD-EDGE JUMPERS 

SINGLE END 
Rainbow 



DOUBLE END 
Electric Pink 



924055 06 R 
S929 



924062-36-R 
S4.11 



924063-36R 
$4.88 



924064-36R 
S6.15 



924065-36-R 
57 20 



9240S6 36R 
SB 21 



DAISY CHAIN 
l3conn«ciori) 
Elvciric Pink 



924092 06R 
S8.42 



924093 06R 
S9.54 



SOCKET JUMPERS 



best price. 

8 pin* 
14 pin* 
16 pin* 



24 pin 
28 pin 
40 pin 



1-9 

.40 
.45 
.50 

.70 
.90 
.95 

.95 
1.25 
1.65 



10-24 

.36 
.39 
.42 

.60 
.80 
.85 

.85 
1.15 
1.45 



25-99 
.34 
.37 
.40 

.55 
.75 
.80 

.80 
1.00 
1.35 



100-249 

.31 
.34 
.36 

.50 
.65 
.70 

.70 

.95 

1.20 



250-999 

.27 
.32 
.34 

.45 
.62 
.65 

.65 

.90 

1.10 



924033 06 R 
$3 32 



924034 06 R 
S3 95 



924035 06 R 
S4 57 



924042 36 R 
$2 55 



924043 36 R 
S3 3) 



No. 

Contacts 


DOUBLE END JUMPER ASSEMBLIES 

Electric Pink Cable 

6" 18" 36" 


SINGLE END 
38" 


DAISY CHAIN 

(3 connectors) 

Electric Pink 

S" 


20 


924002 06 R 

S3 70 


924002 18 R 
$ 4 16 


924002 36 R 
$ 4 85 


92401236R 
S3 12 


924072 06 R 
9 5.44 


26 


924003 06 R 
S4 78 


924003 IB- R 
S 538 


924003 36 R 
S 6 28 


92401336R 
94 04 


924073-06 R 
S 7 02 


34 


924004 06 R 
S6 25 


924004 18 R 
S 705 


924004 36 R 
S 8 25 


92401436R 

S5.30 


924074 06 R 
S 9 18 


40 


924005 06 R 
57 33 


924005 18 R 
S 8 27 


924005 36 R 
S 968 


92401S36R 
S6 22 


924075-06 R 
$10 76 


50 


924006 06 R 
$9 »5 


924006 18 R 
S10 31 


924006 36 R 
S12 05 


924016 36 R 
S7 73 


924076 06 R 
$13 43 



double-row 
JUMPER HEADERS 



Ideal mates for 
'GREAT JUMPERS" 



Solder to PC boards 
for instant plug-in 
access via socket- 
connector jumpers 




.025" square posts are 
molded into plastic 
header strip on a 
.IO'x.10" matrix 



Choice of straight 
or right angle con- 
figurations 



STRAIGHT 



+r 



No. 
Posts 


Dim. 

"A" 


Dim. 

"B" 


Part 
Number 


Price 
2 sets 


20 


1.0 


0.9 


923862 R 


$ .98 


26 


1.3 


1.2 


923863 R 


S 1.28 


34 


1.7 


1.6 


923864 R 


$ 1.64 


40 


2.0 


1.9 


923865 R 


S 1.94 


50 


2.5 


2.4 


923866 R 


$2.36 



RIGHT-ANGLE 



=«n 



DIP JUMPERS 



FLAT RIBBON CABLE ASSEMBLIES 
WITH DIP CONNECTORS 

• Available with 14, 16, 24 and 40 contacts. 

• Mate with standard IC sockets. 

• Fully assembled and tested. 

• Integral molded on strain relief. 

• Llne-by-line probeability. 

A P DIP Jumpers are the low-cost, high- 
quality solution for jumpering within a PC 



No. 
Posts 


Dim. 

"A" 


Dim. 
"B" 


Part 
Number 


Price 
2 sets 


20 


1.0 


0.9 


923872 R 


S 1.20 


26 


1 3 


1.2 


923873 R 


$ 1.52 


34 


1 7 


1 6 


923874 R 


S 1.96 


40 


20 


1 9 


923875 R 


S 2.30 


50 


2 5 


24 


923876 R 


$ 2.82 




3^ 






•/",' '-'K 



board; interconnecting between PC boards, 
backplanes and motherboards; interfacing In- 
put/Output signals; and more. 

All assemblies use rainbow cable. Stan- 
dard lengths are 6, 12, 18, 24 and 36 inches. 

DOUBLE-ENDED 
DIP JUMPERS 







No. 
Contacts 


Length 
6" 


Length 
12" 


? 

Length 
18" 


Length 
24' 


Length 

36" 


14 


924106-6-R 
$2.41 


924 106- 12-R 
$261 


924106 18-R 
$2 82 


924106 24- R 
$3.02 


924106 36- R 
$3 43 


16 


924116 6-R 
$2.65 


924116 12-R 
$2.88 


924116 18-R 

$3.11 


9241 1624-R 
$3.34 


924116 36-R 
$3.80 


24 


924126 6-R 

$4.15 


924126-12R 

$4,50 


924126 1 BR 
94.85 


924126-24-R 
$5 20 


9241 26-36- R 
95.90 


40 


9241366R 
$6.93 


924136 12-R 
$7.52 


924136 1B-R 
98.11 


924136 24- R 
$8.73 


924 136- 36- fl 
99.88 



All sockets are GOLD 3 level closed entry ■ End and side stacable. 2 level. Solder Tail. Low 
Profile. Tin Sockets and Dip Plugs available. CALL FOR QUOTATION 



PRIORITY ONE ELECTRONICS 

16723B Roscoe Blvd. Sepulveda CA 91343 

Terms: Visa, MC, BAC, Check, Money Order, COD. U.S. Funds Only. CA residents add 6% sales tax. 
Minimum order $10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling, 
minimum $2.50. Excess refunded. Just in case . . . please include your phone no. 

Prices subject to change without notice. OEM and Institutional! 

We will do our best to maintain prices thru June 1979. inquiries invited. 

phone orders welcome (213) 894-8171, (800) 423-5633 



We have the Best Prices on 2102's, 2114's, 4116's. We have 5V 2716's in Stock. 











What's New? 


PUBLICATIONS 









TRS-80 Microcomputer Technical 
Reference Handbook 

Radio Shack has published a tech- 
nical reference handbook for their 
TRS-80 microcomputer system. The 
illustrated 108 page book is intended 
primarily for technically oriented per- 
sons with a good working knowledge 
of digital logic circuits. Written in a 
straightforward, informal manner, the 
TRS-80 Microcomputer Technical Ref- 
erence Handbook includes technical 
information and schematic diagrams 
for both Level I and II TRS-80 systems. 
Topics covered in the book include: 
Theory of Operation, Adjustments and 
Troubleshooting, The Outside World 
(connections to control external devices), 
parts list and fold-out schematics. The 
handbook is priced at $9.95 and is avail- 
able from Radio Shack stores and deal- 
ers. For further information, contact 
Radio Shack, 1400 One Tandy Center, 
Fort Worth TX 76102. 

Circle 568 on inquiry card. 



Pascal: An Introduction to Methodical 
Programming 



RASCA!:, 



WFW***' 



oaw< 




This book, intended for use in a first 
course in programming, is based on the 
Pascal language. It assumes no prior 
knowledge of computing and only ele- 
mentary mathematical skill. It empha- 
sizes programming principles, good style, 
and a methodical approach to program 
development. This introduction to Pascal 
includes a thorough treatment of both 
the fundamental language features and 
the few features which are not truly 
fundamental. The programming tech- 
nique of incremental refinement is im- 
parted by consistent example through- 
out the book. In addition, two chapters 
are devoted exclusively to programming 
methodology. Each chapter is followed 
by a number of exercises, answers to 
some of which are provided. This 306 
page book is priced at $10.95. It is 
published by Computer Science Press 
Inc, 9125 Fall River Ln, Potomac MD 
20854. 

Circle 569 on inquiry card. 



Z-80 Instruction Handbook 

The Z80 Instruction Handbook by 
Nat Wadsworth is a handy, compact 
reference providing a clear detailed 
explanation of the Z-80 microprocessor 
instruction set. Standard Zilog mnemon- 
ics are used throughout and machine 
codes are presented in both octal and 
hexadecimal format. An index lists all 
instructions alphabetically along with 
machine codes and timing information. 
This 128 page book is priced at $4.95. 
For further information, contact Scelbi 
Publications, POB 133 PP STN, Milford 
CT 06460. 

Circle 570 on inquiry card. 



Connect Your Computer to an 
Automatic Musical Instrument 

Vestal Press has recently announced 
the release of its 15th catalog. It con- 
tains all types of automatic musical in- 
struments including music boxes, car- 
ousel organs, orchestrions (mechanical 
orchestras), reproducing pianos (player 
pianos that play with full artistic fidel- 
ity), violin playing machines, and all 
sorts of unusual music devices. The cata- 
log is available for $2 from Vestal Press, 
Dept B, POB 97, Vestal NY 1 3850. 

Circle 571 on inquiry card. 



Free Catalogs from Hayden Book 
Company 

Two new catalogs that include per- 
sonal computing and professional com- 
puting books are available from Hayden 
Book Co Inc. They feature Hayden's 
new and forthcoming books on introduc- 
tory computing, programming, and appli- 
cations and advanced technology. For 
free copies of either the personal or the 
professional computing catalog, write to 
Hayden Book Co Inc, 50 Essex St, Ro- 
chellePark NJ 07662. 

Circle 572 on inquiry card. 



TRS-80 Monthly Newsletter 

The TRS-80 Monthly Newsletter con- 
tains articles and programs (with com- 
plete program listings and instructions) 
related to business, personal finance, 
money management, games, practical 
applications and gambling. The programs 
are also available on cassette or floppy 
disk. A summary of the latest TRS-80 
system developments and a list of 
TRS-80 related software are published in 
every issue. A one year subscription to 
this newsletter is $24. For more informa- 
tion, contact Mathematical Applications 
Service, POB 149 RS, New City NY 
10956. 

Circle 573 on inquiry card. 



Comprehensive Microprocessor Design 
Manual Announced by Tl 




This self-teaching microprocessor 
design manual, written for both begin- 
ners and experts, is available from Texas 
Instruments Inc, Mail Station 54, POB 
225012, Dallas TX 75222. 9900 Family 
Systems Design and Data Book offers 
more than 1,000 pages of educational 
and applications information that can 
help users develop a deeper understand- 
ing of the complex technology and the 
potential in microprocessors. 

The first chapter discusses the semi- 
conductor technology advances on 
which today's microprocessors are based. 
It also provides guidelines for selection 
and application of microprocessors and 
microcomputers, and lists general and 
basic design decisions. The second 
chapter is a product selection guide, 
covering the complete Tl 9900 family 
of microprocessors, microcomputers, 
peripheral support circuits, assembled 
microcomputer modules, software and 
development systems. Chapter Three 
moves step-by-step through a "first 
encounter" with a 9900, describing basic 
concepts in an introductory application. 
Chapters Four, Five, and Six cover hard- 
ware and software design, architecture 
and interfacing techniques, programming 
methods and the instruction set. 

Chapter Seven contains reference 
materials for development systems used 
by experienced system designers to 
develop 9900 software programs, debug, 
and prototype final systems. It also 
includes in-depthi technical specifications 
on all currently available products in 
the 9900 family. 

Chapter Nine offers detailed examples 
of real world uses of Tl's 9900 product 
family in the design of a low cost data 
terminal, a floppy disk controller, and 
a simulated industrial control applica- 
tion. 

The 9900 Family Systems Design 
and Data Book is priced at $9.95 (soft 
cover). 

Circle 574 on inquiry card. 



■Circle 312 on inquiry card. 



June 1979 © BYTE Publications Inc 269 



Whal's New? 



MISCELLANEOUS 



Microchess for the PET and Apple 
Computers 








Microchess 2.0, developed by Peter 
Jennings, has been designed for the 8 K 
PET and the 16 K Apple computers. 
In 6502 machine language, it offers 8 
levels of play to suit everyone from 
the beginner to the serious player. At 
its highest level the program plays a 
good game and will beat most average 
players and many other chess playing 
programs. It examines positions by as 
many as six moves ahead, and includes 
a chess clock for tournament play. 
Microchess checks every move for 
legality, handles castling and en passant 
pawn captures, and displays the current 
position on a graphic chessboard. You 
can play white or black, set up and 
play from special board positions, or 
watch the computer play against itself. 
Microchess 2.0 is available for $19.95 
from Personal Software, POB 136, 
Cambridge MA 02138. 

Circle 609 on inquiry card. 



On Screen Text Editors for 8080 
Systems 

Two Daisy text editing programs 
allow fully interactive visible text edit- 
ing and advanced word processing and 
formatting, using a serial video terminal. 
The editors provide extended file usage, 
and use dynamic screen imaging to 
minimize disruptive screen activity so 
that the editors can be used on a slow 
(2400 bps) video terminal. 

WPDaisy is the word processing 
version of this system which includes 
both space and proportional justifica- 
tion. WPDaisy allows calling disk files 
while formatting, and has 26 in-memory 
buffers. Also included is a mail merge 
program which is useful in producing 
form letters and labels. 

The TSA/os version is $125 for Daisy, 
and $300 for WPDaisy. The CP/M 
version is $175 for Daisy; $350 for 
WPDaisy. For further information, con- 
tact TSA Software Inc, 39 Williams Dr, 
Monroe CT 06468. 

Circle 61 1 on inquiry card. 



Multi-Universal Integrated Circuit 
Plug-In Adapter 

This multi-universal integrated circuit 
plug-in adapter accepts integrated circuit 
patterns of up to 40 leads, including 
large scale integration, medium scale 
integration, and programmable memory 
devices. The adapter is used for mount- 
ing a variety of mixed devices which will 
then plug into any standard universal 
integrated circuit packaging panel. 

The P/N 640-MUI adapter will accept 
the following packages: single-in-line, 
dual-in-line, memory package, interface, 
and large scale devices. The adapters are 
fabricated of 0.062 inch (0.157 cm) 
thick epoxy with electro-tin-plated cir- 
cuitry. The plug-in contacts are brass, tin 
plated, with a gold plated berrylium cop- 
per four-tine spring socket member. 

They are available at prices ranging 
from $2 to $6 per unit. For more in- 
formation, contact Garry Manufacturing 
Co, 1010 Jersey Av, New Brunswick 
NJ 08902. 

Circle 612 on inquiry card. 



New Publication on Patching and Pro- 
gramming from Polyphony 

The Source is a compilation of analog 
music synthesizer patch charts which 
have appeared in Polyphony magazine 
plus some extras. The magazine and this 
book adhere to two important concepts: 
to show the average synthesist how to do 
it, and to promote and publish informa- 
tion exchange between synthesists. The 
first of the six chapters in the handbook 
is spent familiarizing the reader with the 
standard symbology used to represent 
various synthesizer modules. Another 



chapter contains patches which are most 
useful for actually playing tunes. In the 
techniques chapter is found a multitude 
of patches which provide insight into 
how to use modules efficiently and imag- 
inatively. The final chapter on software 
contains the basis for an understanding 
of a few of today's newest musical tools. 
Program listings for computer music are 
provided. This 124 page book costs $4 
and is available from Polyphony Publish- 
ing Co, 1020 W Wilshire Blvd, Oklahoma 
City OK 73116. 

Circle 610 on inquiry card. 



New Family of RS-232 Switching Units 

A new family of low cost miniature 
switching units has been introduced by 
Giltronix Inc, 3156 Avalon, Palo Alto 
CA 94306. The family, called RS232-X, 
switches serial RS-232 peripherals be- 
tween several driving sources. Model 
RS232-X3 allows three driving Sources. 
By turning the three position switch 
mounted on the RS232-X3, the user 
can select the driving device that will 
exchange data with the peripheral unit. 
A unique arrangement allows the cascad- 
ing of two or more RS232-X switches, 
thereby expanding the selection from 
three devices to five or more. Model 
RS232-XF is similar to the RS232-X3 
but switches additional signals. Both 
come with 25 pin female connectors. 
The price of the RS232-X3 is $64.95 
assembled, and $47.95 in kit form. The 
RS232-XF is $78.95 assembled and 
$59.95 in kit form. 

Circle 61 3 on inquiry card. 




Analog Interface Card 

The ADAK-1 board is a general pur- 
pose analog interface for 8 bit micro- 
computers. It includes a monolithic 
digital to analog converter, a 5 pole low 
pass filter for waveform generation, an 
audio amplifier, an eight channel analog 
input multiplexor, and a comparator to 
perform analog to digital conversions by 
successive approximation routines. This 
combination permits real time music 
generation by Fourier synthesis tech- 
niques and permits the outputs from up 
to eight joystick channels, thermometers, 
light sensors, or other devices to be 
digitized. A modified version, ADAK-1 
PET, plugs directly into Commodore 
PET computers. The software cassette 
supplied with this version includes pro- 
grams for machine language coding, 
music generation, Fourier waveform 
synthesis, analog to digital conversion 
and several paddle input games. Both 
versions are completely tested and in- 
clude connectors and instructions. 
ADAK-1 is priced at $69.50 and the 
ADAK-1 PET version is $99.50. For 
further information, contact Technical 
Hardware Inc, POB 3609, Fullerton CA 
92634. 

Circle 614 on inquiry card. 



270 



June 1979 © BYTE Publications Inc 



MEMORY SALE! have it your way 



m a 



16K $295.00!! (4MHz)(Reg.$370.00) 32K $485.00!! (4MHz) (Reg. $62 0.00 






ALL BOARDS ASSEMBLED AND TESTED 

Extended addressing allows board 

to exist anywhere in 256K memory 

on standard S-100 bus 

LOW Power, 1.6 amp per 16K 

9 Regulators for perfect heat 

distribution 



(KIT PRICING AVAILABLE) 

• Static, of course 

• Phantom line 

• Each 4K block locateable 
anywhere 

• Fully tested and burned in 
for 48 hours 



ADD-ON MEMORY CHIPS - $4.95 EACH!! (TMS 4044 or MM 5257) - 8 Chips - Minimum Order 
'Sale extended one last month 




16K 



32K 



|>JJI H8| 


as 


i^'ii '3^'ti^**al 


.!*R 


"'.'.z. *4- 


| *""- *■*.,.. r-4to^3 


f — ~~nrjr: 

■■■■Himi'ii 


-. ■ -i 



OH 



4 



• 




Z-80 CPU (one serial chip set, less eprom) $195.00 (Reg. $280.00) 

• 2 Parallel + 2 Serial Port 

• 2 MHz or 4 MHz Switch Selectable 

• Baud Rates 1 50-9600 

• Power on Jump to On/Board Eprom (2708 or 2716) 

• Memory Management on A16 and A17 

VIDEO TERMINAL SIMULATOR $295.00 (Reg. $400.00) 

• Plugs into S-100 Bus and simulates all functions of a 
Soroc or other RS-232 type terminal. A simple video 
monitor such as a Sanyo or Sony TV will perform as a 
smart terminal by writing into an IO Port. 

• 2K Eprom, 4K Ram (2 video pages on 16 x 64) 

• Lower Case Descenders (16 x 64 or 24 x 80) 

• Tabs, protected fields, home/load cursor, blink, reverse 
video, underline, page erase, etc. (Intel 8275 CRT 
controller) 

DOUBLE DENSITY DISC CONTROLLER $385.00 

• CPM* Compatible, TARBELL Pin-out compatible 

• On/Board Boot 

• 2 or 4 MHz Jumper Selectable 

• 8 inch Single or Double sided (5.25 inch available) 

• 52 Sectors, runs CPM*, IBM Format 

*CPM is a trademark of Digital Research, Inc. 



West: 

DELTA PRODUCTS 

1653 E. 28th Street 
Long Beach, Calif 90806 

Tel (213) 595-7505 



ORDER NOW ! ! 

SALES 

AND 

SERVICE 



East: 

DELTA PRODUCTS 

1254 South Cedar Road 
New Lenox, Illinois 60451 

Tel (815) 485-9072 



Circle 89 on inquiry card. Dealer inquiries invited. 

Personal checks must clear before shipment • 90 day unconditional warranty * B of A, M/C Okay 



[ 



Computer Products 



* DISK DRIVES * 

B51 5V." $295.00 

by Mictu Peripherals, Inc. Operates 
In either single density (12SKB, 
unformatted) or double density 
(250KB, unformatted) modes, up 
to 40 tracks, with a track-to-track 
access time of only 5 ms. 
SA801R $495.00 

by Shugart Single-sided 8" floppy 
disk drive. 

FD8-100 $395.00 

GSI/Siemens. Runs cooler and 
quieter than 801 (8") 

SA400 $325.00 

Single density 5V., 35-Track drive. 
Cablne^ndpo«(ersunplyavall8ble 



1791 B01 
Dual Density Controller Chip 

$49.95 



vista uso 

Mini DISK 

SYSTEM 
FOR TRS—80 
$395.00, 




1 TWO SIEMENS/GSI 8 FLOPPY 
DRIVES 

- POWER SUPPLY FOR ABOUF. 

- JAOE TARBHL DISK CONTROL 

KIT IS100I 
i CP'M OPERATING SYSTEM WITH 

BASIC E 
J PACKAGE OF 10 BLANK 
B DISKETTES 
Price il purchased separately 

$1192.50 

JAOE SPECIAL PACKAGE OEAL 

SI 050.00 



Includes disk drive, power supply, 
regulator board, and compact case. 
The V-80 offers 23% more storage 
capacity. Simply take It out of the box, 
plug In the cable, and It's ready to run. 
Requires 16K. Level II, expansion 
interface. 

Signal Cable S24.95 



3-LEVEL GOLD 
WIRE WRAP SOCKETS 

14 PIN 39c each 

16 PIN 434 each 

100 for $35 

Sockeis ,ire <'"d and side slack 
able, doied entry. 



EXPANDOR'S BLACK BOX PRINTER 



This 64-character ASCII impact printer 
with 80-column capability is portable 
and uses standard 8 1 /?" paper and reg- 
ular typewriter ribbon. Base, cover 
and parallel interface are included. 
Assembled and complete with manual 
and documentation. , «... nn 

only $470.00 

(90 day manufacturer's warranty) 



TRS-80 Interface Cable for Black Box Printer 




with matin 
(must be used wi th 
amp power supply 



connectors: $48.00 

expansion module, <8v/l 
-■quired, } 



Power Supply for TRS-80/Black Box Printer 



$49.00 




TRENDCOM lOO 
Intelligent Printer 




Interface & Cable 
for TRS-80 

$45. 00 

40 character per second rate 
Low cost thermal paper 
96 character set 
Microprocessor controlled 
Bidirectional look-ahead printing 

• Quiet operation • No external power supplies • Only two 
driven parts • High reliability • Clear 5 x 7 characters 

• Attractive metal and plastic case 2 rolls Of paper for $5.00 



Interface & Cable 

for Apple 

$60. 00 



5-100 MOTHER BOARDS 

JADE 6 SLOT 

Kn $41.95 

Assembled & Tested $56.95 

Bare Board $24.95 

9-SLOT "LITTLE MOTHER" 

Kit $85.00 

Assembled & Tested $99.00 
Bare Board $35.00 

13-SLOT "QUIET MOTHER" 
Kit $95.00 

Assm. & Tested $110.00 

Bare Board $40.00 

22-SLOT "STREAKER" 

Assm. & Tested $149.00 



VIDEO INTERFACE 

S-100 Compatible Serial Inter- 
face with Sockets Included. 
Kit $117.95 

Assembled & Tested $159.95 
Bare Board w/manual $ 35.00 



Z80A SPECIAL 

4MHz CPU Chip 
■fo $14.95 -fa 



TU-l 



Convert your T.V. set into a 

Video Monitor 

Kit $8.95 



PARALLEL/SERIAL 
INTERFACE 

S-100 compatible 2 serial I/O 
ports, 1 parallel I/O. 

Kit JG-P/S $124.95 

Assembled & Tested:' 

JG-P/SA $179.95 

Bare Board w/Manual $ 30.00 



} 



MAINFRAMES 




Accomodate* all S— 100 
Mother Boards. Built-in card 
cage with card guides. Lighted 
reset switch. Rotron whisper fan. 

Includes heavy duty power 
supply. (+ 8 volts DC @ 30 AMPS, 
+ 16 volts DC @ 4 AMPS, -8 volts 
DC may be added. 



$389.00 



3M 
«*> or VERBATIM 
FLOPPY DISKS 

S'A in. Minidiskettes 

Sott sector, 10 sector, or 16 sector 

$4.40 each or 

box of 10 tor $40.00 

8 in. Standard Floppy Disks 

Soft Sector 

$4.75 each— 10 for $42.50 



FLOPPY DISK INTERFACE 

JADE FLOPPY DISK (Tarbell 
board) 

Kit $195.00 

Assembled & Tested $250 00 



S.D. Computer Products 
VERSA-FLOPPY 

Kit S159.95 

Assembled & Tested S239.00 



integral Data Systems 



€> 



Check the impressive 
features on Integral's 
IP-125 Impact Printer 

only $799 



JEBSEEBBBnxmMlBmXESBi 




• Mr^raprocesioi controller ■ Serial RS232C li 
upper and lower case ASCM character set {0b c 
length of 80 columns at 10 character! per inch 
paper roil, Untold, or sheet ■ Scr.ai baud talc i 
o' 256 chancier; ■ instantaneous print rale Id 
without adjustment • Reinking ribbon mecharm 
table top console 



lerlate a Parallel ill level interlace "Full 
taracters) ■ F uti 8." >nch wide paper a Line 

impici printing • /■ / dot matrix ■ Ordinary 
i 1200 bils per second ■ Multiple line buHei 

100 characters per second ■ Multiple copies 
i ■ t root panel operator cuntrols ■ Attractive 



Integral Data System IP-225 Tractor Feed Printer 

• All standard features of IP-125 
•Tractor feed paper drive 

• Forms Control Option (P1250) $949 
Integral Data System IP-125 Friction Feed Printer 

•96 upper & lower case ASCII character set 

• Enhanced character control 

• Serial RS232C Interface (std. factory wiring) 

• Parallel TTL Interface (factory wired on req.) 

• 80 column line 

• 256 byte multiline buffer $799 





/te Plugboards 



8800V 



Jnive r sal Microcomputer /processor 
plugboard Use with S 100 bos Com 
plele with heat sink & hardware. 
5.3" m 10" N 1/16" 



3690-12 
CARD EXTENDER 

Card Emiandtr has 100 contacts. SO per s>d* 
on 1 25 canters Attached connector II com 
patible with S 100 But Svtterm (25.00 

3890 6.5" 72/4 pm. 156 ctn. 

t12.00 



Gen Purpose D.I P floardi 
with But Pattern lor Solder or 
Wire Wrap. Eno.y Glass 1/16" 
44 pin con spaced 156 



8801-1 





P partem plugboard! lor IC'i 
Epo.v Glait 1/16" 44 pm con. 
ipaced 1S6 



3177 1.1" a 4 5 . . 
31772 1.5" « 4.5". 



S10.I0 
Jf.74 



IIOOV 

MOM 



14,95 



59 


10-24 


17.95 


15 96 


11.46 


11. ft 



3667 6.5" » 4.5" . 
3862 2 9 6 . 4.5" 



. . $7 65 
. St 1.45 



H, Dem.iv 
board lor 
Power & 
Glut 1/16' 
.156. 

3612 ».«" > 
3112.2 1.5' 



Dual ir 
Wire 
Grd 
44 pin 



Epo«y 
i tpaced 



4.5" $10.17 

» 4.5" SS.I1 



272 



BYTL June 1979 



Circle 195 on inquiry card. 



PLACE ORDERS TOLL FREE: 



800/421 -6909 Continental U.S. 
•00/262-1710 Inside CaHfomla 



LEEDEX MONITOR 

• 12" Black and White 

• 12MHZ Bandwidth 

• Handsome Plastic Case 

$139. 00 



KIM-1 Module monit- 
or, programs stored in 
2048 ROM Bytes. User 
Manual, Wall size 
schematic, Hardware 
manual, Programming 
manual. Programmers 
relerence card. and 
Keyboard display. 



$179 

CASES - $29,95 



$245 



6S02 — based single board 
computer with keyboard/dis- 
play, KIM-1 hardware compa- 
tible, complete documentation. 

SYM— 1 CASE $39.95 



V 



MICROPROCESSORS 
F8 

Z80 (2MH2) 

Z80A (4MH2) 

CDP1802CD 

6502 

6800 

6802 

8008- 1 

8036 

8035 8 

8080A 

8086 

TMS9900TL 
B080A SUPPORT DEVICES 

8212 

8214 

8216 

8224 (2MH/) 

8224-4 (4MHz) 

8226 

822B 

8238 

824 3 

8251 

8253 

8255 

8257 

8259 

8276 

82 79 
USRT 

S2350 
UARTS 

AY5 1013A 

AY5I014A 

TR1602B 

TMS601 1 

IM6403 
BAUD RATE GENERATORS 

MC14411 

144 1 1 Crystal 
6800 PRODUCT 

6810P 

6820P 

682 IP 

6828P 

6834 P 

6850P 

6852P 

6860P 

6862P 

687 IP 

6875P 

6880P 
CHARACTER GENERATORS 

2513 Upper (-12»5) 

2513 Lower (-12*5) 

2513 Upper (5 volt) 

2513 Lower (5 volt) 

MCM6571 up scan 

MCM6571Adown sen 
PROMS 

1702 A 

2708 

2716 (5*12) Tl 

2716 (5v) INTEL 

2758 (5v| 
DVNAMIC RAMS 

416D/4116 (200ns) 

2104/4096 

2107B-4 

TMS4027/4096 (300ns) 
STATIC RAMS 1-15 

21L02 (450ns) * 1.50 

21L02 250ns * 1.75 

2101-1 * 2.95 

2111-1 * 3.25 

2112-1 $ 2.95 

FLOPPY DISK CONTROLLERS 

1771B01 

1791 

KEYBOARD CHIPS 

AY5-2376 
AY5-3600 
MM5740 



$16.95 
$20.00 
$14 95 
$17.95 
$11.95 
$16.95 
$25.00 
$12.45 
$20.00 
$2 1 .00 
$10.00 
$23.00 
$49.95 



2.90 

4.65 

2 75 

4.30 

9.95 

2.75 

6.40 

6.40 

$ 8 00 

$ 7.50 

$20.00 

$ 6.45 

$20.00 

$2000 

$75.00 

$18 50 

$10.95 

$ 5.26 
$ 8.25 
$ 5.25 
$ 5.95 
$ 9.00 

$10.00 
$ 4.95 

$ 4.00 
$ 6.60 
$ 6.60 
$11.25 
$16.95 
$ 8.65 
$11.00 
$ 9.25 
$12.00 
$28.75 
$ 8.75 
$ 2.50 

$ 6.75 
$ 6.75 
$ 9.75 
$10.95 
$10.95 
$10.95 

$5.00. 
$ 9.95 
$60.00 
$60.00 
$30.00 

$12.50 
$ 4.00 
$ 3.95 
$ 4.00 
16-100 
$ 1.20 
$ 1.50 
$ 2.60 
$ 3.00 
$•2.65 

$39.96 
$49.95 



$13.75 
$13.75 
$18.00 



JADE'S 

DOUBLE DENSITY 

Controller Board 

KIT: $249.00 
Assmb. & Tstd: $299.00 

■Single or Double Density Recording 

■Full Size or Mini Floppy 

■CP/M Compatable in either density 

■Programmed Data Transler, no DMA 

■Controls up to 8 drives 

■ IBM format in either density 

■Software Selectable Density 

■ This controler utilizes the proven 
reliability of the IBM standard format 
as well as the lastest phase-locked- 
loop for data seperation. ■ All clocks 
are generated from an on-board 
cyrstal oscillator ■ Right precompen- 
sation is used to enhanced data 
recovery reliability in the double 
density mode ■ Density selection is 
enitirely transparent to the user ■ 
Single and double density diskettes 
can be mixed on the same system. 



NEW! 



JADE Z80 BOARD 

IMPROVED OCSION AND 
FEATURES 



1 ON BOARD 2708 or 27(6 FPROM 
• VERY RELIABLE AT 4 MHZ OR 



POWER ON JUMP AND RESET 
ON BOARD USART 18251) 



2MHi 

Kit 

Assembled & Tested 
4 MHz 

Kit 

Assembled & Tested 
Bare Board 


$135.00 
$115.00 

$149.95 
$195.95 
$ 15.00 






with full documentation 

Kit $100.00 
Assembled & Tested $14*. 95 
Bare Board $ 30.00 



IrflPPLe'TRS-SO-RrW'TRS-aO-fiPPie-TAS-Sti^ 

Jade memory 
; Expansion Nits tor j 
I TRS-80 and Applet 

; 4116'» 

: Everything a person needs to ; 
; add 16K ol memory. Chips : 
j come neatly packaged with ; 
: easy to follow directions. In ' 
'■ minutes your machine Is ' 
i ready for games and more ? 
j advanced software. I 



$82.00 



& 



8 •l9-S«1.31oyt).09-SHi.SldcfU.08-Sai.31dda.( 



EPROM BOARD KITS 

JG8/16 (uses 2708 or 27161 $69.95 



"IMSAI'-TYRK CARD 
GUIDE SPECIAL: 

Regular Price 3(W each 

SPECIAL: 10 for $1.00! 



^ 



^rrr 



iimiiiiii 



Rockwell Aim-65: The Heed-start 

in microcomputers 



A KIM-1 compatible machine with 
on-board printer and a real keyboard! 

$375.00 w/1K RAM 

$450.00 w/4K RAM 
4K assembler/editor in ROM: $ 80.00 
8K BASIC in ROM: 
Power supply: 
Case tor AIM-65: 



$100.00 
$ 59.95 
$ 49.95 



Special Package Price: $599.00 

AIM-65 (4K), Power Supply, Case, and 




6K BASIC ROM 



DYNABYTE 

Na ked Termin al 
■ flCKttMIHM 

FEATURES & BENEFITS 

■ 80 character by 24 line formal (Model 57) ■ 
Completely self contained terminal electronics, just 
add CCTV monitor and key board ■ No support 
software required ■ Switch selectable modes: Halt 
Duplex, Full Duplex, Block mode ■ Block mode 
allows lor editing before transmit ■ Keyboard 
Interface provided ■ Fully assembled, socketed, 
tested, burned in, and guaranteed for a full year 
from date ol purchase ■ Video Is switch selectable 
■Black-on-Whlte" or "White-on-Black" 



ITEXTOOL 

ZIP* 

DIP 8 II 

Sockets 



S-100 EDGE CONNECTORS 



Soldeilail S3.25 each 

10 for $35.00 
Wire wrao $4 00 each 

10 lor $40.00 



7tecv 'Pnice* 

DYNAMIC RAM BOARDS 
EXPANDABLE TO 64K 
32K VERSION* KITS 

Uses 4115 (8Kxl, 250ns) Dynamic 
RAM's, can be expanded in 8K 
increments up to 32K: 



SK $159.00 
16K $199.00 



24K $249.00 
32K $299.00 



4115 SALE 
8 for $39.95 



64K VERSION -KITS 

Uses 4116 (16Kx 1, 200ns) Dynamic 
RAM's, can be expanded in 16K 
increments up to 64K: 



16K $249.00 
32K $369.00 



4SK $469.00 
S4K $569.00 



^ TiTTni ii iit:^ 



♦ZERO 
INSERTION FORCE 

sockets 

PRICES: 

16 pin Zip Dip II $5.50 

24 pin Zip Dip II $7.50 

|40 pin Zip Dip II $10.26 



JL STATIC RAM JL 
SPECIALS 



2114'$, low power (1024x4) 

1-15 16-99 100 * 

450ns I t.OOl *.»5 I 5.50 

300ns 9.00 8.00 S.50 



TMS4044/MM5257. low power 
450ns 1.00 7.50 S.50 
300ns 



9.95 



1.75 



4200A (4Kxl, 200ns) 
1 9.95 I S.50 



S.00 



1.00 



Computer Products 



4901 W. ROSECRANS AVENUE 
Department "F" 3 

HAWTHORNE. CALIFORNIA 90250 
U.S.A. 



Telephone: 

(213) 679-3313 

(800) 421-5809 Continental U.S. 

(800) 262-1710 Inside California 



Cash, checks, money orders, and credit cards accepted. Add 
freight charge of $2.50 for orders under 10 lbs. and $1.00 service 
charge for orders under $10.00. Add 6% sales tax on all parts 
delivered in California. Discounts available at OEM quantities. 



WRITE FOR OUR FREE CATALOG 

All prices subject to change without notice. 



410D (4K x 1, 200 ns) 
|S.25 | 7.00 |6.75 



STATIC RAM 
BOARDS 



JADE 8K 

Kits: 450ns $125.95 

250ns $149.75 

Assembled & Tested: 

450ns $139.75 

250ns $169.75 

Bare Board: $ 25.00 

16K - Usm2114's (low power) 

Assembled & Tested: 

RAM 1$ (250ns) $375.00 
RAM 1«Bi4S0n») $325.00 



16K with memory management 

Assembled 4 Tested: 

RAM 65 (250ns) $3*0.00 
RAM 6SBi4S0nsl $350.00 



32 K Static 
Assembled e> Tested: 



250ns 
450 ns 
250n> Kit 



$7*5.00 
$725.00 
$575.00 



Circle 195 on inquiry card. 



BYTE June 1979 



273 



What's New? 



SOFTWARE 



Full Standard PILOT on PET 

Commodore PET owners can get full 
standard PILOT on a minimum size PET 
with the PETPILOT language processor 
and editor which is suitable for preparing 
long programs of up to 80,000 char- 
acters. The product features full BASIC 
in compute statements as well as two 
new keywords designed to make PILOT 
programming easier and faster. All lan- 
guage features of the most recent PILOT 
standard are implemented. Only the tape 
drive supplied with the PET is required 
to run any PILOT program. While simple 
PILOT programs can be created on a 
single drive PET, authors writing long 



programs will need the second cassette 
drive offered by Commodore. 

The package offered by the PET- 
PILOT project contains both programs, 
a sample PILOT program, a teacher's 
manual, a quick reference card, and 
licenses to run the programs on a single 
PET. A tutorial course of 4 one hour 
lessons in effective use of PILOT is also 
available. The basic package costs $12, 
and the tutorial is an extra $8. Both 
products can be ordered by specifying 
the PET serial number to be licensed. 
For further information contact Dave 
Gomberg, 7 Gateview Ct, San Francisco 
CA 94116. 

Circle 620 on inquiry card. 



FORTRAN Compiler for 6800 Produces 
Relocatable Object Code 

A FORTRAN compiler for 6800 
microprocessors, which produces re- 
locatable object code in a Motorola 
compatible format, has been introduced 
by Smoke Signal Broadcasting, 31336 
Via Colinas, Westlake Village CA 91361. 
Programs are compiled to run under the 
company's DOS-68 disk operating system 
for scientific applications, number 
crunching and multidimensional array, 
processing. The compiler is also comple- 



mented by Smoke Signal's Linking 
Loader for loading the object listing 
into any portion of memory specified. 

Requiring 24 K bytes of user pro- 
grammable memory, the compiler has a 
data initialization capability, features 
arithmetic and logical IF statements, and 
handles sequential access files so that up 
to four files can be opened at any one 
time. FORTRAN library subroutines can 
also be built. 

The 6800 FORTRAN compiler is 
priced at $99. 

Circle 621 on inquiry card. 



KlM-1 Control System 

PCROS is a Process Control Real- 
time Operating System for the KIM-1 
microcomputer board. The operating 
system is designed to function in the 1 K 
byte KIM-1 programmable memory. 
PCROS can control up to twelve switches 
and is driven by a real time clock routine 
that makes use of the KIM-1 timer and 
interrupt circuitry. 

A process control language inter- 
preter has been included as an integral 
part of PCROS. The interpreter utilizes 
the on board KIM-1 keyboard and di- 
play. The process control language inter- 
preter provides nine commands for appli- 
cation program development: set swit- 
ches, hold full-second current settings 
(up to 255), hold quarter-second current 
settings (up to 255), repeat command 
sequence, reset repeat loop, go to sub- 
routine, return from subroutine, load 
and execute next program (from cassette 
tape), and halt. Application programs 
can contain up to 56 commands. 

PCROS on KIM format cassettes with 
users manual is priced at $14.95. The 
assembly listing is available for $24.95. 
For further information contact H Geller 
Computer Systems, POB 350, New York 
NY 10040. 

Circle 622 on inquiry card. 



< 



X! 
C 
03 
CD 



C 
CD 
CO 

Q. 

o 
U 

-a 

c 

CD 



Q. 

E 
o 
O 

cn 




PERSONAL COMPUTING SOFTWARE FOR APPLE®, PET®, AND TRS-80® 

APPLE • COMMODORE • POWERSOFT 
GRT • PERSONAL SOFTWARE • RD.I.« SOFTAPE 



EXCLUSIVELY AT ALL PARTICIPATING 



ComputerLand 



® 



STORES. 



274 June 1979 © BYTE Publications Inc 



Circle 75 on inquiry card. 






• ••• 

•a... 

••••• 

••••• 

•a... 
••••■ 
••••■ 

••••- 

••••• 
••••• 
••••• 
••••• 
••••• 
••■•• 

••••• 
••••• 

••••• 

••••• 
••••• 

• •••• 
••••• 

:•••• 
•••• 
••••• 

:•••• 
•••• 

•••••• 

••••• 

••••• 

:••••• 
•••• 
Mae.. 

•••••• 

•••••• 

• ••••• 

••••• 
••••■ 

•••••• 

•••••■ 

•••••■ 

•••••• 

:••... 
ae... 

•••••• 

:••••• 
••••• 

•••••• 

•••••• 

•••••• 

•)••••■ 

•ae..- 
•••••■ 

•ae... 
•••••• 

••••»• 

•ae... 
•••••• 

•••••• 

•••••■ 

•••••■ 

•••••• 

•••••• 

••••.. 

■••••■ 

:••••• 
•••••■ 

•ae.- 

•ae... 
•ae... 

:••••• 
ae... 

•••••• 

•••••■ 

••••■• 

•••••• 

•••••■ 

•ae... 
•••••• 

•••••• 

• ••••• 

••••■■ 

#••••■ 
■•ae.. 
Mae.. 

■••••■ 

•ae... 
•••••• 

•ae... 
Mae.. 

•••••• 

• ••••• 
»••■• 
•ae." 
•••••• 

•••••• 

•••• 

•••• 

•••• 



_ • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••■. 

e •. •i"".!"!!??!!!!jtj!;;;;j;;y;jj;;;;;fi?;;;**?j;;*j;t #, * , » , » B, '«.»»»««*»»»»»»«».*»... ••••""• J* a 

•••!•*' ' ' "''■'.'•%•* 

I'.'.y -taw CDDAlll OAnn t> -tnn r»i i*»«» N S oix i r\\u nm nw-r* r^... .*.-*■ X 5TSS .>...>- — ■v '•"■••• 



16K EPROM CARD-S 100 BUSS 




OUR 

BEST 

SELLING 

KIT! 



USES 2708s! 

Thousands of personal and business systems around 
the world use this board with complete satisfaction. 
Puts 16K of software on line at ALL TIMES! Kit features 
a top quality soldermasked and silk-screened PC board 
and first run parts and sockets. All parts (except 2708's) 
are included. Any number of EPROM locations may be 
disabled to avoid any memory conflicts. Fully buffered 
and has WAIT STATE capabilities. 



OUR 450NS 2708'S 
ARE $8.95 EA. WITH 
PURCHASE OF KIT 



ASSEMBLED 
AND FULLY TESTED 
ADD $25 



8K LOW POWER RAM KIT-S 100 BUSS 
250 NS SALE! 

'ADD $5 
FOR 
250NS! 




$129 




(450 NS RAMS!) 

Thousands of computer systems rely on this rugged, work 
horse, RAM board. Designed for error-free, NO HASSLE, 
systems use. 
KIT FEATURES: 

1. Doubled sided PC Board with solder 
mask and silk screen layout. Gold 
plated contact fingers. 

2. All sockets included. 

3. Fully buffered on all address and data 
lines. 

4. Phantom is jumper selectable to pin 
67. 

5. FOUR 7805 regulators are provided 
on card. 



Blank PC Board w/Documentation 

$29.95 

Low Profile Socket Set. ..13.50 

Support ICs (TTL & Regulators) 

$9.75 

Bypass CAP'S (Disc & Tantalums) 

$4.50 

ASSEMBLED AND FULLY 
BURNED IN ADD $30 > 



16K STATIC RAM KIT-S 100 BUSS 



$ 295 



KIT 



FULLY 

STATIC, AT 

DYNAMIC PRICES 



WHY THE 2114 RAM CHIP? 

We fee! the 21 14 will be the next industry standard 
RAM chip (like the 2102 was). This means price. 
availability, and quality will all be good! Next, the 
2114 is FULLY STATIC We feel this istheONLY 
way to go on the S-100 Buss! We've all heard the 
HORROR stories about some Dynamic Ram 
Boards having trouble with DMA and FLOPPY 
DISC DRIVES. Who needs these kinds of 
problems? And finally, even among other 4K 
Static RAM's the 21 14 stands out! Not all 4K static 
Rams are created equal! Some ol the other 4K's 
have clocked chip enable lines and various timing 
windows just as critical as Dynamic RAM's. Some 
ol our competitor's 16K boards use these "tricky" 
devices. But not us! The 21 14 is the ONLY logical 
choice for a trouble-free, straightforward design. 




KIT FEATURES: 

1. Addressable as lour separate 4K Blocks. 

2. ON BOARD BANK SELECT circuitry 
(Cromemco Standard!) Allows up to 512K on 
line! 

3. Uses 2114 (450NS}4K Static Rams 

4. ON BOARD SELECTABLE WAIT STATES 

5. Double sided PC Board, with solder mask and 
silk screened layout. Gold plated contact lingers. 

6. All address and data lines fully buffered. 

7. Kit includes ALL parts and sockets 

8. PHANTOM is jumpered to PIN 67. 

9. LOW POWER: under 2 amps TYPICAL Irom the 
*6 Volt Buss. 

10. Blank PC Board can be populated as any 
multiple of 4K. 



BLANK PC BOARD W/DATA-S33 
LOW PROFILE SOCKET SET-$12 ASSEMBLED & TESTED-ADD $30 
SUPPORT ICS & CAPS— $19.95 2114 RAM'S— 8 FOR $69.95 



^ 

COMPLEMENTARY POWER TRANSISTORS 



SILICON NPN AND PNP. TO-220 CASE 

VCEO - 40V PD - 30 WATTS 
FOR AUDIO POWER AMPS. ETC 



TIP29- NPN 
TIP30 - PNP 



YOUR CHOICE 

3 FOR $1 




16K DYNAMIC RAM CHIP 

16K X 1 Bits. 16 Pin Package Same as Mostek 41 16-4. 250 NS access. 410 
NS cycle time. Our best price yet for this state of the art RAM 32K and 64K 
RAM boards using this chip are readily available. These are new. fully 
guaranteed devices by a major mfg VERY LIMITED STOCKI 

8 FOR $89.95 



NOT ASSOCIATED 

WITH 
DIGITAL RESEARCH 

OF CALIFORNIA, 

THE SUPPLIERS OF 

CPM SOFTWARE. 



450 NSI 



2708 EPROMS 



Now full speed! Prime new units from a major U.S. 
Mfg. 450 N.S. Access time. 1K x 8. Equiv. to 4-1702 
A's in one package. 

$ 15.75 ea. $9 95 



4 FOR $ 50°° 



PRICE CUT 



NATIONAL SEMICONDUCTOR NEW! 

CAR CLOCK MODULE - #MA6008 



*6 



99 



each 



INCLUDES CRYSTAL TIMEBASE! 
WORKS ON 12 VDC! 



Originally used by HYGAIN to indicate time and 
channel on an expensive C.B. Mini size, selt 
contained module. Not a Kit. Four digits plus 
flashing indicator for seconds. Includes MM5369 
and 3.58 MHZ crystal for super accurate time base. 
With hookup data. 

MFGR's CLOSEOUT 

LIMITED QTY. 



Z-80 PROGRAMMING MANUAL 

By MOSTEK, or ZILOG. The most detailed explanation 
ever on the working of the Z-80 CPU CHIPS. At least 
one tull page on each of the 158 Z-80 instructions. A 
MUST reference manual for any user of the Z-80. 300 
pages. Just off the press. $12.95 



EXPERIMENTERS HEATING PLATE 

Large Manufacturers Surplus. 5%x10'/2 in. Made 
of 3/8 in. tempered glass with heating element 
laminated on back. Works off 120 VAC. 
Protected by thermostat and two thermal fuses. 
Rated 120 Watts. Use for any heating 
applications. Perfect for heating ferric chloride 
to increase PC Board etching efficiency. Units 
are brand new, non-submersible. 

WHILE THEY LAST— $2.99 each 



GENERAL INSTRUMENT 
FULL WAVE BRIDGE /4.0 

4 AMP 600 PIV <C°° 

3/4 IN SQUARE - WITH LUGS 



75$ 



3 FOR $2 " LM1 



MALLORY COMPUTER 
GRADE CAPACITOR 

30.000 MFD 15 WVDC 

Small: 3x2 Inches 

$1.99 ea. 3 For $4.99 



Newt REAL TIME 
Computer Clock Chip 

N.S. MM531 3. Features 
BOTH 7 segment and 
BCD outputs. 28 Pin 
DIP. $4.95 with Data 



"THE COLOSSUS" 
FAIRCHILD SUPER JUMBO LED READOUT 

A tull .80 inch character. The biggest readout we have 

ever sold! Super efficient. Compare at up to $2.95 each 

from others! YOUR CHOICE 

FND 843 Common Anode * . .„ 

FND 850 Common Cathode " I ea (6 tor $6.95) 






v.- 



V-V 



Digital Research Corporation 

" (OF TEXAS) 

P.O. BOX 401247Y GARLAND, TEXAS 75040 • (214) 271-2461 



TERMS: Add 30C postage, we pay balance Ordets under $15 add 75C handling No 
COD We accepl Visa. MasterCharge. and American Express cards Tex Res add 
5% Tax Foreign orders (except Canada add 20% P & H 90 Day Money Back 
Guarantee on all items 



••••• 

■•*••• 
••••• 

•••••• 

•••••• 

•••••• 

■••••• 

•••••• 

-•»••§ 
••••• 

•••••• 

••••• 

■*•••• 

■••••• 

••••• 

•••••• 

■••••• 

— ea* 
>•'••• 

■••••• 
— ea* 
•••eai 

■••ea* 
■••ea* 
•••ea* 
■••ea* 
■••ea* 
■••ea* 
•••ea* 
•••ea* 
•••ea* 
— ea* 
■••ea* 
— ea* 
•••ea* 

■••••• 
•••ea* 
•••••• 

•••ea* 
—ea* 
•••ea* 

•••••• 

•••ea* 
•••••• 

— ea* 

■••••• 

•••ea* 
■••ea* 
•••••• 

■••e«* 
■••ea* 
■••ea* 
•••ea* 
•••ea* 
•••ea* 
•••ea* 
■••ea* 

—eai 

•••ea* 
— ea* 

•••eai 
•••eai 

■••ea* 
■••ea* 
•••ea* 
•••ea* 
•••ea* 
•••ea* 
•••ea* 
•••ea* 
— ea* 
•••ea* 
•••ea* 
•••ea* 
•••ea* 
■••ea* 
•••ea* 
•••ea* 
•••ea* 

■••eai 

•••ea* 
•••ea* 
•••ea* 
•••ea* 
•••ea* 
•••ea* 
■••ea* 

•••eai 

— ea* 
•••eai 
•••ea* 
•••eai 
••eai 

— ea* 

■••eai 
■••eai 

■••ea* 
•••ea* 
■••ea* 

-•eai 

■••ea* 
■••ea* 
■••ea* 
■••ea* 
— ea* 
—ea* 
— ea* 
— ea* 
— ea* 

••eai 

••ea* 
••ea* 
■•ea* 
••ea* 
••ea* 

••••• 



wJil 



•J 



••; 



• «Sili£...... .*...•••.•>••...•••.. ..•..«••!••£.••• ••■•■••« »•»••••••»«•«.••....... * • ' !!!.% • 

• ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••"•••••*1 # • • 

•eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaeeeeeeeeeeeeeeeeeeeeeeeeeeeeee e e a e e • e e e e e e e • e e ee e » ■ w 
•eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee**' • 

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••a*" 



Circle 100 on inquiry card. 



BYTE lune 1979 



27S 



T 



TO ORDER CALL TOLL FREE 800-223-7318 



MM 



PET 



It 



IV $795 S U 54 E 9 D 



on 

14K ROM Operating system 

• 8K RAM Memory 

• 9' Video Monitor 

• Built in Keyboard 

• Digitally controlled tape 
I Today's best value in personal computers, along with the latest 

1 in peripherals, are always in stock at the COMPUTER FACTORY 




BUSINESS 



NEW! PE MS 

I The PET is now a truly sophisticated 
I Business System with the Floppy 
| Disk and Printer which makes an 

ideal cost efficient business 

system for most professional and 
1 specialized fields: medicine. 

law, research, engineering, 

education, etc. 

PET 2001 - 

16KS995 
32K$1295 

I • ^6 or 32K Bytes 

I Dynamic RAM • 14K ROM 

I Operating System 

I • Upper/Lower Case and 

I Graphics 

■ • Full Sized Business Keyboard 

I • Full Screen Editing 

I • Operaung system will support 

multiple Languages (BASIC 

resident) 
I • Machine Language Monitor 
I • 8K ROM Expansion Sockets 
I • 9" CRT 




PERIPHERALS 
FOR PET 

' 24K Memory Expansion 

" lemory Expansion 




tog to Digital Board 

16 Devices 

ond Cassette Drive . 
illel Printer Interface 



PET 
PRI 
2023 $849 

2022 $995 

(Includes 
Tractors) 



Bottom and Rear Tractor Feed 

8V ? " Paper Width 

6504 Microprocessor Controlled 

150 cps Bi-directional 

4K ROM • V,K RAM 

Upper/Lower Case and Graphics 

7 x 6 Dot Matrix 



$1495 Complete! 
16K Model add $200 
32K Model add $500 

Conipucolorll 

COMPUCOLOR II Disk-Based Model 3 
Advanced hardware and software technology 
gives you' 

• 13" Color Display 

• Advanced Color Graphics 

• 51K Disk Built-in 

• 16K ROM Operating System 

• 8K RAM User Memory 

• 4K RAM Refresh 

• 8080A Microcomputer 

• RS-232 I/O 

Every unit comes with an extendi 
BASIC that has full file manag 
bility resident in the COMPUCOLOR II in 
16K of ROM Color is fantastic, but COM- 
PUCOLOR II has the power to handle com- 
plex tasks and small business applications 
An impressive software library supplements 
your own creativity. ' 



BUSINESS 

COMPUTER 

IMSAI 

The low cost solution 

lor all small business 

problems A wide variety 

of software is 

available for all your needs 

PCS series include dual floppies. 32K RAM. 

I O DOS, BASIC 

• PCS-42 (400KB) $3295 

• PCS-44 (780KB) $3995 

VDP-42 series adds video terminal, key- 
board and VIO to above 

• VDP-42 $4995 • VDP-44 $5595 



BILLINGS MICROSYSTEM 
EXPANDABLE TO f\ff-|i/f 
2 MEGABYTES N C WW I 



features: 

• 12" CRT 

• 64K RAM 

• Z-80 

• Dual mini floppy 



• 320 K Storage 

• Graphics 

• 94 Keys 

• 2 RS-232 ports 

• 1 parallel port 



BUSINESS SOFTWARE AVAILABLE! 



C1I 






SUPER SOFTWARE 



Word 

Processing 
For PET 



This super advanced full function program will allow | 
you to create text from PET or terminal keyboard. 
• INSERT • DELETE • CENTER • UNDERLINE • I 
FULL SCREEN EDITING • MOVE LINES OR | 
BLOCKS • SAVE TEXT ON TAPE • AUTO PRINT 
FEATURE. ..$45 



Apple's This fantastic program disk allows the statistician, 

Moving mathematician, trader in stocks, money or 

Average commodities, the ability to maintain 30 database 
Plot series of up to 300 values and plot 3 different moving 

Program averages of a series at the same time, in 3 different 

colors. Files can be updated, deleted, changed, 

extended, etc. 

A sure value disk at only $40! 

Word Processing For Apple on disk.. .$50 



PET 

MUSIC 
Add music and sound 
eltects to your 
programs. Compose, 
play, and hear music on 
your pet. Completely 
sell-contained (no 
wiring). Free 3 
programs including Star 
Wars theme, sound 
effects, etc. S39. 



iisisa 

SALE 



DUAL DRIVE FLOPPY 
DISK 2040 $1295 

■ 360 K Bytes Storage 

• High Speed Data Transfer 

• Plugs into IEEE Port 

• 6504 Microprocessor 

• 8K ROM Operating System 

• 8K ROM Encoding and 

. ?k ram 9 Come In Or Ca II For 

• Uses Single or Dual sided Special LOW Pf/CCS 

, Dske,es WE'RE MOVING TO 
SINGLE DRIVE LARGER QUARTERS 

I FLOPPY UNIT AND MUST SELL 

2041 $895 EVERYTHING IN OUR 



• Dud Canute I/O 

• 30 * 64 n.iiji.i-. 

• S 100 ComfMtitila 

• 64 Usui Delmed CfuraciRts 

• 740 x 617 Resolution Graphics 
Modular deiign allows use of bblh cauelti 
for ptograms and ROM PAC carifidgtt It 
future language introductions like; API 
COBOL. PILOT, FORTRAN, etc Addmoi 



SORCERER 

SPECIAL 
12" Video Monitor 
for SORCERER 
($299 value) 

ONLY 

$125 with 8K unit 
95 with 1 6K unit 
65 with 32K unit 



ANDERSON JAC0BS0N 




641 l/0Teiminil 



JACOBSOIM 



Ideal lor word processing end smell 

mm, 

• ASC 1 1 Code 

• 15 cps Printout 

• High Quality Selective Printing 

• Use Keyboard tot PET 

• Reliable heavy duty Mechanism 

• Completely Refurbished by A.J. 

• Service in IS Major Cilies 



Parallel 

$1095 

Swill 

$1195 



RADIO SHACK • PET • SORCERER • 
lAPPLE • COMPUCOLOR • ETC. 



PRINTERS • PRINTERS • PRINTERS 



The COMPUTER FACTORY'S extensive CENTRONICS $1095 

inventory and wide seleclion of computer AXIOM (Parallel) 445 

printers assures you ot finding the printer AXIOM (Serial) 520 

besl suited for your needs and TRENDCOM 375 

specifications The following printers work INTEGRAL DATA 795 

well with all known personal computers QUME or DIABLO 3400 



Intelligent mini floppy 
171 5K net user storage 



INVENTORY 




Min Credit Card 
Order $75 



vtsr 



S35 of Software wiiti pur chase ol any 
computer on ihis page 



N Y residents add 8% sales tax • Same day 
shtpmenl on prepaid and credit card orders 
• Add S5 shipping for computers. S3 for 
boards.-S.25 each cassette tape. 



Sat 



Open 
Mon.-Fri. 
10-6 
10-4 



INTERTECs 



Only $870 



FREE 



TO ORDER CALL TOLL FREE 800-223-7318 



INTERTUBE video terminal 

I Full screen editing 24 x SOdlaplaj 
I and microprocessor ^*^\~ 



(46th St.) 



Thzi /^jrMVflDI ITCD CTAr^T/^DV 485 Lexinqton Avenue 750 Third Avenue New York, N.Y. 10017 
I IRS \s\Jl\ll1r U I Cn "MV/ I Vyll I (212) 687-5001 (212) PET-2001 Foreign order desk Telex 640055 



276 BYTE lunc 1979 



North Star 
Utilities Package 

With these programs the user can: 

Read a basic program directly from a 
disc and list all variables appearing in 
the program (Listings can be made 
of variables versus line numbers or 
line numbers versus variables. I 

Selectively print out any statement, 
function or command versus the line 
numbers that it appears in 

Print out a "flow chart" of the basic 
program 

This package is essential for examin- 
ing and modifying basic programs. It 
is provided on a North Star Diskette 
for $15.00. 

Potter's Programs 

22444 Lakeland 

St. Clair Shores, Ml 48081 

(313) 573-8000 



SUPPLIES 




• FLOPPY DISKS, MINI OR 
STANDARD MEMOREX OR 3M 

• 3M DATA CARTRIDGES 
DC300A. OCIOOA 

• 3M DIGITAL CASSETTES 

• 3M OR MEMOREX AUDIO 
CASSETTES. C 60 

• 3M0ISK CARTRIDGES 

WE OFFER: 
•COMPETITIVE PRICING 
•IMMEDIATE DELIVERIES 

lAnv Quanlity) 
• UNCONDITIONAL GUARANTEE 

BETA BUSINESS SYSTEMS 
8369 ViCKERSST.. #G 

SSAN DIEGO. CA 92 
171 41 565^1505 



m 



"CRT INTERFACES" 
black - white/colon 

Monitors * Combination Rcvr /monitor sett 
• Modulator kits * B-W Cameras * Color 
Cameras * Audio Subcarrier kits • Parts 




WRITE or PHONE for DETAILS & PRICING. 



DIAL: 402-987-3771 



Dealers welcomed. Well established program. 

— * — e/V) 

»' 3 ;!L ATV Research Dakota City, 
Broadway tfiLiffc 1 ' HEl 6813 ' 



Circle 310 on inquiry card. 



Circle 27 on inquiry card. 



Circle 19 on inquiry card. 



( SHORT CASSETTES 



C-10 




List S1.00 10 for $7.50 50 for $32.50 



I MICROSETTE CO. \ 
777 Palomar Ave. • Sunnyvale. CA 94086 



Duplication Services 

Microsette also offers professional 
duplication services for Commo- 
dore PET and Radio Shack TRS-80 
Level I and Level II cassettes. Our 
service provides mastering, quality 
control, all material including two- 
piece box, affixing of your labels or 
supplying our blank labels and ship- 
ping. Prices start at $2.00 each in 
100 quantity. 

MICROSETTE CO. 

777 Palomar Ave. ■ Sunnyvale, CA 94086 



Circle 229 on inquiry card. 



RECYCLE(D) 
COMP UT ERS 

BUY $ SELL it SWAP 
Hardware & Software 

NEW PRODUCT ANNOUNCEMENTS 
22 pace* 

Mailed I s * Class every 3 Weeks 
lyr. (18 issues) it $3.75 



ON_LINE ~@r 

Djoi Ucitlr. Unlili»bfT CtutlKbrb 1073 

24695 Santa Cruz Hwy.. Los Gatos, CA 95030 



BASIC 

SUBROUTINE 

LIBRARY 

Volume 1 

' ARRAYS - minimum, maximum, sums, 
searching, sorting. 

i MATRIX ALGEBRA - addition, subtrac- 
tion, multiplication, transposition, 
determinant, inversion. 

' SIMULTANEOUS EQUATIONS - non- 
symmetrical, symmetrical, banded, 
three-diagonal. 

Any routine you'll ever need, involving 
arrays, matrix algebra or simultaneous 
equations, can be found in this com- 
prehensive collection of subroutines, 
compatible with any version of BASIC 
having subscripted variables. 
Numerous examples show how to incor- 
porate those subroutines into your pro- 
grams or how to use them as stand 
alone programs. 

Order now and save days of work. 
S18.00 U.S. plus $2.00 for handling 
and postage. 

VM Professional Application 
Software, Inc. 
2703 Bainbridge Avenue 
BURNABY, B.C. V5A 2S7 



Circle 379 on inquiry card. 




TRS-80 y 

SPECIAL PROMOTION SALE 

SAVE 10%, 15% or more on ALL 
Computers, Peripherals, Software, 
and ALL other fine Radio Shack® 
products. 

NO TAXES on out-of-state ship- 
ments. 

FREE Surface delivery in U.S. 

WARRANTIES will be honored 
by your local Radio Shack® store. 
Offered exclusively by 

Radio Shack 8 

Authorized Sales Center 

1117 Conway 

Mission, Texas 78572 

(512) 585-2765 



^ 



J 



ADVERTISE YOUR 
PROGRAMS IN OUR NEW 

Computer 
Software 

Directory 

FOR AS LITTLE AS $20/YEAR! 
EVEN IF YOU ONLY HAVE ONE 
PROGRAM TO SELL, WRITE: 

CYBERTRON 
P.O. BOX 5056 
BETHLEHEM, PA.18015 



Circle 90 on inquiry card. 



FLOPPY DISK 
REPAIR 

• PerSci and Shugart 

• Quick turnaround 

• Factory trained on 
PerSci 

COMPUTER SERVICE CENTER 

7501 Sunset ESlvd 

Hollywood CA 90046 

213-851-2226 



Circle 288 on inquiry card. 



Circle 314 on inquiry card. 



Circle 77 on inquiry card. 



TRS-80 ES 
SERIAL I/O 

• Can input into basic 

• Can use LLIST and 
LPRINT to. output, or 
output continuously • 
RS-232 compatible • 
Can be used with or 
without the expansion 
bus • On board switch 
selectable baud rates 
of 110,150,300,600, 
1200, 2400, parity or 
no parity odd or even, 
5 to 8 data bits, and 1 
or 2 stop bits. D.T.R. 
line • Requires +5, 
-1 2 VDC • Board only 
$19.95 Part No. 6010, 
with parts $59.95 Part 
No. B01 OA, assembled 
S79.95 Part No. 6010 
C. No connectors pro- 
vided, see below. 





ElA/PS-232 con- 
nector Part No. 
DB25PS6.00.Mtti 
9'. 8 conductor 
cable StO.95 Part 
No DB25PS. 



3' ribbon cable 
with attached con- 
nectors to fitTRS- 
80 and our aerial 
board $19 9b Port 
No. 3CAB40. 



RS-232/ TTLtt 
IMTERFACE 

• Converts TTL to RS- 
232, and converts RS- 
232 to TTL» Two sep- 
arate circuits • Re- 
quires -12 and +12 
volts • All connections 
go to a 10 pin gold 
plated edge connector 

• Board only S4.50 
Part No. 232. with 
parts $7.00 Part No. 
232A 10 Pin edge 
connector $3.00 Part 
No. 1 0P 




MODEMtt 

• Type 103 • Full or 
half duplex • Works up 
to 300 baud • Origi- 
nate or Answer • No 
coils, only low cost 
components • TTL in- 
put and output-serial 

• Connect 8 fl speak- 
er and crystal mic. 
directly to board • 
Uses XR FSK demod- 
ulator • Requires +5 
volts • Board only 
$7.60 Part No. 109, 
with parts $27.50 Part 
No. 109A 



VERBATIM 
MINIDISK 




Yferbalim 



Box of 1 



$29.95 



RS-232/ TTYtt 

INTERFACE 

« Converts RS-232 to 
20mA current loop, 
and 20mA current loop 
to RS-232 • Two sep- 
arate circuits • Re- 
quires + 12 and -12 
volts • Board only 
$4.50 Part No. 600, 
with pBrts $7.00 Part 
No. 600A 




Mar wo too 



S-100 BUS" 
ACTIVE TERMINATOR 

Board only $1 4.95 Part No. 900, with parts 
$24.95 Part No. 900A 





APPLE lift 
SERIAL I/O 
INTERFACE 



Baud rate is continuously adjustable from 
to 30,000 • Plugs into any peripheral 
connector • Low current drain. RS-232 input 
and output • On board switch selectable 5 to 
8 data bits, 1 or 2 stop bits, and parity or no 
parity either odd or even • Jumper selectable 
address • SOFTWARE • Input and Output 
routine from monitor or BASIC to teletype or 
other serial printer • Program for using an 
Apple II for a video or an intelligent terminal. 
Also can output in correspondence code to 
interface with some selectrics. • Also 
watches DTR • Board only $1 5.00 Part No. 
2, with parts $42.00 Part No. 2A, assembled 
$62.00 Pert No. 2C 



8K EPROM piiceon 

Saves programs on PROM permanently (until 
erased via U V light) up to BK bytes. Programs 
may be directly run from the program saver 
such as fixed routines or assemblers. • S- 
100 bus compatible • Room for 8K bytes of 
EPROM non-volatile memory (2708's). • On- 
board PROM programming • Address 
relocation of each 4K of memory to any 4K 
boundary within 64K • Power on jump and 
reset jump option for "turnkey" systems and 
computers without a front panel • Program 
saver software available • Solder mask both 
sides • Full silkscreen for easy assembly. 
Program saver software in 1 2706 EPROM 
$25. Bare board $35 including custom coil, 
board with parts but no EPROMS $ 1 39, with 
4 EPROMS $179. with 8 EPROMS $219. 



P-'l"| " 

._ © ■ 



WAMECO INC. 



SSSlm 



FDC-1 FLOPPY CONTROLLER BOARD will 
drive shugart, pertek, remic 5* & 8" drives 
up to 8 drives, on board PROM with power 
boot up, will operate with CPM (not 
included). PCBD $42.95 

FPB-1 Front Panel. (Finally) AMSAI size hex 
displays. Byte or instruction single step. 
PCBD..... $42.95 

MEM-1A 8Kx8 fully buffered, S-100, uses 
2102 type RAMS. 
PCBD $24.95. $1 68 Kit 

QMB-12 MOTHER BOARD, 1 3 slot, termi- 
nated, S-1 00 board only $34.95 

$89 95 Kit 

CPU-1 8080A Processor board S-1 00 with 

B level vector interrupt PCBD . . $25.95 

$69.95 Kit 

RTC-1 Realtime clock board. Two independ- 
ent interrupts. Software programmable. 
PCBD $25.95. $60.95 Kit 

EPM-1 1702A 4K EPROM 

card PCBD $25.95 

$49.95 with parts less EPROMS 

EPM-2 2708/2716 16K/32K 

EPROM card PCBD $24.95 

$49.95 with parts less EPROMS 

QMB-9 MOTHER BOARD. Short Version of 

QMB-1 2. 9 Slots PCBD $30.95 

$67.95 Kit 

MEM-2 16KxB Fully Buffered 2114 Board 
PCBD $25.95, $269.95 Kit 



T.V. 
TYPEWRITER 

• Stand alone TVT 

• 32 char/line, 16 
lines, modifications for 
64 char/line included 

• Parallel ASCII (TTL) 
input • Video output 

• 1 K on board memory 

• Output for computer 
controlled curser • 
Auto scroll • Non- 
destructive curser • 
Curser inputs: up, down, 
left, right, home, EOL 
EOS • Scroll up, down 

• Requires +5 volts 
at 1.5 amps, and -12 
volts at 30 mA • All 
7400, TTL chips • 
Char. gen. 2513 • 
Upper case only • 
Board only $39.00 
Part No. 106, with 
parts $145.00 Part 
No. 106A 




UART& 

BAUD RATE 

GENERATORS 

• Converts serial to 
parallel and parallel to 
serial • Low cost on 
board baud rate gener- 
ator • Baud rates: 
110, 150, 300, 600, 
1200, and 2400 • 
Low power drain +5 
volts and -12 volts 
required • TTL com- 
patible • All characters 
contain a start bit, 5 
to 8 data bits, 1 or 2 
stop bits, and either 
odd or even parity. • All 
connections go to a 44 
pin gold plated edge 
connector • Board only 
$1 2.00 Part No. 101, 
with parts $35.00 Part 
No. 101 A, 44 pin edge 
connector $4.00 Part 
No. 44P 




TAPE 
INTERFACE 

• Ray and record Kan- 
sas City Standard tapes 

• Converts a low cost 
tape recorder to a 
digital recorder • Works 
up to 1200 baud •Dig- 
ital in and out are TTL- 
serial • Output of 
board connects to mic. 
in of recorder • Ear- 
phone of recorder con- 
nects to input on board 

• No coils • Requires 
+5 volts, low power 
drain • Board only 
$7.60 Part No. 111, 
with parts $27.50 Part 
No. 111A 




HEX ENCODED 

KEYBOARD 

E.S. 
This HEX keyboard 
has 1 9 keys, 1 6 encod- 
ed with 3 user defin- 
able. The encoded TTL 
outputs, 8-4-2-1 and 
STROBE are debounced 
and available in true 
and complement form. 
Four onboard LEOs 
indicate the HEX code 
generated for each 
key depression. The 
board requires a single 
+5 volt supply. Board 
only $15.00 Part No. 
HEX-3, with parts 
$49.95 Part No. HEX- 
3A. 44 pin edge con- 
nector $4.00 Part No. 
44P. 




DC power supply-::- 



• Board supplies a regulated +5 
volts at 3 amps., +1 2, -1 2, and -5 
volts at 1 amp. • Power required is 
8 volts AC at 3 amps., and 24 volts 
AC C.T. at 1 .5 amps. • Board only 
$12.50 Part No. 6085, with parts 
excluding transformers $42.50 
Part No. 6085A 




w Te\ OrriOr " Mentlon P art number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard. or VISA 
lw \J\ Uwl a number, expiration date end signature. Shipping charges added to C.O.D. orders. California residents add 6.5°/o for tax. Outside USA add 10% for air mail 
postage and handling, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs, components, and circuit 
board. Documentation is included with .all products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "Computer 
Parts." Deeler inquiries invited. 24 Hour Order Line: (409) 226-4064 -if- Circuits designed by John Bell 



For free catalog including parts lists and schematics, send a self-addressed stamped envelope. 



ELECTRONIC SYSTEMS Dept. B, P- 0. Box 21638,SanJose, CAUSA 95151 



BY II June 1979 



Circle 125 on inquiry card. 



HielMECTRANSlOOO 



A completely refurbished 
IBM Selectric Terminal with 
built-in ASCII Interface. 



Features: 

• 300 Baud 

• 14.9 characters per second 
printout 

• Reliable heavy duty Selectric 
mechanism 

• RS-232C Interface 

• Documentation included 

• 60 day warranty -parts and 
labor 

• High quality Selectric printing 
Off-line use as typewriter 

• Optional tractor feed available 

• 15 inch carriage width 



HOW TO ORDER 
DATA-TRANS 1000 

1. We accept Visa, Master 
Charge. Make cashiers checks or 
personal check payable to: 

DATA-TRANS 

2. All orders are shipped 
F.O.B. San Jose, CA 

3. Deliveries are immediate 




For orders and information 



DATA-TRANS 

2154 OToole St. 

UnitE 

San Jose, CA 95131 

Phone: (408) 263-9246 



; m. a 



m « % | h >a w »*< ni «< % * % ■* * 
«ai 4 4 at "4 tit N tut k>< fc » it « * 
* « n m t» ■■* m m m m tr. * * 

■■-•»«» <4 '4 Hi MM Wfelfi 



ASCII KEYBOARD 

By Cherry Products 



• • Mounted to DECWRITER Panel 
ASSEMBLED 89.95 




TIDMAtt 

• Tape Interface Direct 
Memory Access • Re- 
cord and play programs 
without bootstrap load- 
er (no prom) has FSK 
encoder/decoder for 
direct connections to 
low cost recorder at 
1200 baud rate, and 
direct connections for 
inputs and outputs to 
a digital recorder at 
any baud rate • S-1 00 
bus compatible • Board 
only $35.00 Part No. 
112, with parts $110 
Part No. 1 1 2A 



,J * 



ASCII to Correspondence code converter 

This bidirectional board is a direct replacement for the board 
inside the Trendata 1000 terminal. The on board connector 
provides RS-232 serial in and out. Sold only as an assembled and 
tested unit for $330.00. Part No. TA 1000C 



#ippta 



With16K $1024.00 




T.V. INTERFACE 

• Converts video to 
AM modulated RF, 
Channels 2 or 3. So 
powerful almost no 
tuning is required. On 
board regulated power 
supply makes this ex- 
tremely stable. Rated 
very highly in Doctor 
Dobbs' Journal. Recom- 
mended by Apple • 
Power required is 12 
volts AC C.T., or +5 
volts DC • Board only 
$7.60 part No. 107, 
with parts $1 3.50 Part 
No. 107A 




(Illegal where 
prohibited by law.) 



TV* OrHor ■ ^ ent ' on P art number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge. BankAmericard. or VISA 
lw \J\ Uwl ■ number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents add 6.5°/o for tax. Outside USA add 10°/a far air mail 
postage and handling, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs, components, and circuit 
board. Documentation is included with.a!l products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "Computer 
Parts." Dealer inquiries invited. 24 Hour Order Line: (408) 226-4064 ■& Circuits designed by John Bell 



For free catalog including parts lists and schematics, send a self-addressed stamped envelope. 



ELECTRONIC SYSTEMS Dept - B < P - °- Box 21638,SanJose, CAUSA 95151 



Circle 126 on inquiry card. 



BYTE June 1979 279 



Circle 115 on inquiry card. 




8" Siemens FDD120-8 Drive 

All Siemen's options included 
in this drive which can be con- 
figured hard or soft and single 
or double density. (Others give 
only stripped unit) $425.00 



"Power One" Modei CP206 
Floppy Power Unit For two 

drives going full-out, and poss- 
ably more on less severe service. 
2.8A@24V, 2.5A@5V, 0.5A@-5V. 
Beautiful quality. $99.00 



Electrolabs 

POB 6721, Stanford, CA 94305 
415-321-5601 800-227-8266 

Visa, American Express, Master 



Low Profile Socket Spectacular!!! 
Featuring a kind of Mexican Hand- 
shake" principle, these sockets will 
NOT let your IC's vibrate outll In 
8,14,16,18,20,22,24,28 &40 let/pin 
100O+: .75/pin, 20,000+: .65/pin 



40001" 



=NlTBF 



10 Megabyte 
SUPER DISK!!! 




DISKETTES (Standard) 



Boxed 10 
Boxed 10 



539.00 
$34.95 




Tarbell ("It Works") Interface 
(Includes cable set for 2 drives) 
$265.00 BUT ONLY $219.00 
with purchase of two drives. 

Cable Kits 10' with 50 cond. 
cable and connectors and also 
Molex connectors and power 
cable: For one drive: $27.50 
For two drives: $33.95, and 
for three drives: $38.95 



CABINETS for FDD120 and 
801 R Drives, or CP206 power 
supply. Matte finish in mar 
resistant black epoxy paint. 
.Stacking type design. $29.99 



Used Sylvania 12" Video 
Monitors. Composite video 
15mhz, 115vac,50/601iz 
New Tube. As shown $109 
OEM style without case: 
$99, Anti-glare tube option 
add $12. Specify p4 or p39 



SHRINKS 
your media 
RELIABLY!! 




..,:.:-, ^■ ; ' ::: '' 



NEW 

PRODUCT 

RELEASE!!! 



NEW Breakthrough 
n Size, Weight (39lbs) 
Power (125W) Perform- 
ance (36O0rpm) and 
cost effectiveness (10 
MBy and controller 
for $6750.00) For 
PDP-11, LSI-11 

AND 

S-100 machines 




ESAT200B (Bi-Lingual) 80X24 
Communicating Terminal 

Scrolling, Full Cursor, Bell, 8X8 
matrix, 256 addressable characters 

110-19,200 baud, etc, etc 

This terminal has been purchased 
by many agencies, universities & 
companies. Fully stand-alone, it is 
the only dual font terminal of any 
kind for less than $2500. 
Supplied complete and fully guaran- 
teed: (many graphics applications) 

$349.00 



«0^^P* 




l§ 



CALIFORNIA COMPUTER SYSTEMS 



16K RAM BOARD. Fully buffered addressable in 4K 
blocks. IEEE standard for bank addressing 2114's 

PCBD $26.95 

Kit 450 $259.95 

PT-1 PROTO BOARD. Over 2,600 holes 4" regu- 
lators. All S-100 buss functions labeled, gold fingers. 
PCBD $29 95 

PT-2 PROTO BOARD. Similar to PT-1 except set- 
up to handle solder tall sockets. 
PCBD $29.95 



.£337 



FORMERLY CYBERCOM/80LID STATE MUSIC. 
PB-1 2708&2716 Programming Board with provisions 
for 4K or 8K EPROM. No external supplies require 

textool sockets. Kit $124.95 

CB-1 8080 Processor Board. 2K of PROM 256 BYTE 
RAM power on/ rest Vector Jump Parallel port with 

status Kit $119.00 PCBD $30.95 

MB-6B Basic 8KX8 ram uses 2102 type rams, S-100 

buss. Kit 450 NSEC $139.95 PCBD $26.95 

MB-7 16KX8, Static RAM uses U P410 Protection, 

fully buffered Kit $299.95 

MB-8A 2708 EROM Board. S-100, 8K8X or 16Kx8 

kit without PROMS $75.00 PCBD $28.95 

MB-9 4KX8 RAM/ PROM Board uses 2112 RAMS or 
82S129 PROM kit without RAMS or PROMS $72.00 
IO-2 S-100 8 bit parallel /IO port, % of boards is for 

kludglng. Kit $48.00 PCBD $26.95 

IO-4 Two serial I/O ports with full handshaking 
20/60 ma current loop: Two parallel I/O ports. 

Kit $130.00 PCBD $26.95 

VB-1B 64 x 16 video board, upper lower case Greek, 
composite and parallel video with software, S-100. 

Kit. $125.00 PCBD $26.95 

Altair Compatible Mother Board, 11 x 1IV2 x '/•". 

Board only $39.95. With 15 connectors $94.95 

Extended Board full size. Board only $ 9.49 

With connector $13.45 

SP-1 Synthesizer Board S-100 

PCBD $42.95 KIT $135.95 



/V/mC/ int! WAMECO INC. 

FDC-1 FLOPPY CONTROLLER BOARD will drive 
shugart, pertek, remic 5" & 8" drives up to 8 drives, 
on board PROM with power boot up, will operate 
with CPM (not Included). 

PCBD $42.95 

FPB-1 Front Panel. IMSAI size, hex displays. Byte, 
or instruction single step. 

PCBD $47.50 

MEM-1 BKX8 fully buffered, S-100, uses 2102 type 

rams. PCBD $25.95 

OM-12 MOTHER BOARD, 13 slot, terminated, S-100 

board only $34.95 

CPU-1 8080A Processor board S-100 with 8 level 

vector Interrupt PCBD $26.95 

RTC-1 Realtime clock board. Two independent in- 
terrupts. Software programmable. PCBD $23.95 

EPM-1 1702A 4K Eprom card PCBD $25.95 

EPM-2 2708/2716 16K/32K 

EPROM CARD PCBD $25.95 

QM-9 MOTHER BOARD, Short Version of QM-12. 

9 Slots PCBD $30.95 

MEM-2 16Kx8 Fully Buffered 

2114 Board PCBD $26.95 

2114 (450 NS) low pwr. $7.25 
21 1 4 (250 NS) low pwr... 7.99 

2102A-2L 1.50 

2102A-4L 1.20 

1702A-6 4.50 

1702A INTEL (not prime)4.00 
4116 8/89.95 



8080A $9.95 

8212 2.49 

8214 4.49 

8224 3.49 

8708 9.49 

5101-1P 6.90 

5101-8P 8.40 



L«® 




(415) 592-1 BOO 
P. O. Box 424 • San Carlos, California 94070 

Please send for IC, Xlstor 
and Computer parts list 



JUNE SPECIAL SALE 
ON PREPAID ORDERS 

(chargs cardi not included on this offer) 

5% OFF ON WAMECO PCBD'8 
MIKOS PARTS ASSORTMENT 

WITH BOARDS AND 
CCS COMPUTER PRODUCTS 

(asm not included) 

MIKOS PARTS ASSORTMENT 
WITH WAMECO AND CYBERCOM PCBDS 

MEM-2 with MIKOS "7 16K ram 

with L2114 450 NSEC $235.95 

MEM-2 with MIKOS "13 16K ram 

with L2114 250 NSEC $269.95 

MEM-1 with MIKOS #1 450 NSEC 8K 

RAM $119.95 

CPU-1 with MIKOS #2 8080A CPU $94.95 

MEM-1 with MIKOS #3 250 NSEC 8K 

RAM $144.95 

QM-12 with MIKOS #4 13 slot mother 

board $89.95 

RTC-1 with MIKOS #5 real time clock $54.95 

VB-1B with MIKOS #6 video board less 

molex connectors $99.95 

EMP-1 with MIKOS #10 4K 1702 less 

EPROMS $49.95 

EPM-2 with MIKOS #11 16-32K EPROMS 

less EPROMS $59.95 

QM-9 with MIKOS #12 9 slot mother 

board $79.95 

FPB-1 with MIKOS "14 all parts 

for front panel $134.95 

MIKOS PARTS ASSORTMENTS ARE ALL FACTORY PRIME 
PARTS. KITS INCLUDE ALL PARTS LISTED AS REQUIRED 
FOR THE COMPLETE KIT LESS PARTS LISTED. ALL SOCKETS 
INCLUDED. 

VISA or MASTERCHARGE. Sand account numb*r. Interbank 
number, expiration date and sign your order. Appro*, postage 
will be added. Check or money order will be aent poet paid In 
U.S. It you are not a regular customer, pleaaa use) charge, 
cashier's check or postal money order. Otherwise there will 
be a two-week delay for checks to clear. Calif, residents add 
6% tax. Money back 30 day guarantee. We cannot accept re- 
turned IC's that have been soldered to. Prices subject to 
change without notice. 110 minimum order. $1.50 eenaco charge 
on orders leas Mian $10.00. 



260 



BYTE June 1979 



Circle 230 on inquiry card. 



P.O. Box 4430X Santa Clara, CA 95054 




RCA Cosmac Super Elf Compute 

Compare features before you decide to buy any 
other computer. There is no other computer on 
the market today that has ail the desirable bene- 
fits of the Super Elf for so little money. The Super 
Elf is a small single board computer that does 
many big things. It is an excellent computer for 
training and for learning programming with its 
machine language and yet it is easily expanded 
with additional memory, Tiny Basic, ASCII 
Keyboards, video character generation, etc. 
The Super Elf includes a ROM monitor for pro- 
gram loading, editing and execution with SINGLE 
STEP (or program debugging which is not in- 
cluded in others at the same price. With SINGLE 
STEP you can seethe microprocessor chip opera- 
ting with the unique Quest address and data bus 
displays before, during and after executing in- 
structions. Also. CPU mode and instruction cycle 
are decoded and displayed on eight LED indicator 
lamps. 

An RCA 1861 video graphics chip allows you to 
connect to your own TV with an inexpensive video 
modulator to do graphics and games. There is a 
speaker system included for writing your own 
music or using many music programs already 
written. The speaker amplifier may also be used 
to drive relays for control purposes. 
A 24 key HEX keyboard includes 16 HEX keys 
plus load, reset, run, wait, input, memory pro- 



r S106.95 

tect, monitor select and single step Large, on 
board displays provide output and optional high 
and low address. There is a 44 pin standard 
connector tor PC cards and a 50 pin connector for 
the Quest Super Expansion Board. Power supply 
and sockets for all fC's are included in the price 
plus a detailed 127 pg. instruction manual which 
now includes over 40 pgs of software info, in- 
cluding a series of lessons to help get you started 
and a music program and graphics target game. 

Remember, other computers only offer Super Elt 
features at additional cost or not at all. Compare 
before you buy. Super Ell Kit S10G.95. High 
address option 58. 95. Low address option 
S9.95. Custom Cabinet with drilled and labelled 
plexiglass front panel S24.95. NiCad Battery 
Memory Saver Kil S6.95. All kits and options 
also come completely assembled and tested 

Questdata. a 12 page monthly software publica- 
tion for 1802 computer users is available by sub- 
scription for S12.00 per year. 



Attention Elf Owners 

New products in hardware and software 
coming soon. 



Tiny Basic cassette S10.00. on ROM S38.00. 
original Elf kit board S14.95. 



Super Expansion Board with 

This is truly an astounding value! This board has 
been designed to allow you to decide how you 
want it optioned. The Super Expansion Board 
comes with 4K ol low power RAM fully address- 
able anywhere in 64K with built-in memory pro- 
tect and a cassette interlace. Provisions have 
been made for all other options on the same 
board and it fits neatly into the hardwood cabinet 
alongside the Super Ell. The board includes slots 
lor up to 6K of EPROM (2708. 2758. 2716 or Tl 
2716) and is fully socketed. EPROM can be used 
for the monitor and Tiny Basic or other purposes. 
A IK Super ROM Monitor S19.95 is available as 
an on board option in 2708 EPROM which has 
been preprogrammed with a program loader/ 
editor and error checking multi file cassette 
read/write software, (relocatible cassette file) 
anotherexclusivefrom Quest. It includes register 
save and readout, block move capability and 
video graphics driver with blinking cursor. Break 
points can be used with the register save feature 
to isolate program bugs quickly, then follow with 
single step. The Super Monitor is written with 
subroutines allowing users to take advantage of 
monitor functions simply by calling them up. 



Cassette Interface $89.95 

Improvements and revisions are easily done with 
the monitor. If you have the Super Expansion 
Board and Super Monitor the monitor is up and 
running at the push of a button. 
Other on board options include Parallel Input 
and Output Ports with lull handshake. They 
allow easy connection of an ASCII keyboard to the 
input port. RS 232 and 20 ma Current Loop for 
teletype or other device are on board and if you 
need more memory there are two S-100 slots for 
static RAM or video boards. A Godbout 8K RAM 
board is available for S135.00. Also a 1K Super 
Monitor version 2 with video driver for full capa- 
bility display with Tiny Basic and a video interface 
board. Parallel I/O Ports S9.85, RS 232 $4.50, 
TTY 20 ma l/F S1.95, S-100 $4.50. A 50 pin 
connector set with ribbon cable is available at 
S12.50 for easy connection between the Super 
Elf and the Super Expansion Board. 
The Power Supply Kit lor the Super Expansion 
Board is a 5 amp supply with multiple positive 
and negative voltages $29.95. Add S4.00 lor 
shipping. Prepunched frame S5.O0. Case 
$10.00. Add $1.50 for shipping. 



Auto Clock Kit $15.95 

DC clock with 4-.50" displays. Uses National 
MA-1012 module with alarm option. Includes 
light dimmer, crystal timebase PC boards. Fully 
regulated, comp. instructs. Add $3.95 for beau- 
tiful dark gray case. Best value anywhere. 



RCA Cosmac VIP Kit $229.00 

Video computer with games and graphics. 
Fully assem. and test. S249.00 



Not a Cheap Clock Kit $14.95 

Includes everything except case. 2- PC boards. 
6-.50" LED Displays. 5314 clock chip, trans- 
former, all components and full instructions. 
Orange displays also avail. Same kit w/,80" 
displays. Red only. $21.95 Case $11.75 



60 Hz Crystal Time Base Kit $4.40 

Converts digital clocks from AC line frequency 
to crystal time base. Outstanding accuracy. Kit 
includes: PC board. IC. crystal, resistors, ca- 
pacitors and trimmer 



Digital Temperature Meter Kit 

Indoor and outdoor. Switches back and forth. 
Beautiful. 50' LED readouts. Nothing like it 
available. Needs no additional parts for com- 
plete, full operation. Will measure -100 to 
+200 f. tenths ol a degree, air or liquid. 
Very accurate. S39.95 

Beautiful woodgrain case w/bezel $11.75 



NiCad Battery Fixer/Charger Kit 

Opens shorted cells that won't hold a charge 
and then charges them up. all in one kit w/full 
parts and instructions. S7.25 



PROM Eraser Will erase 25 PROMs in 
15 minutes. Ultraviolet, assembled $34.50 



Rockwell AIM 65 Computer 

6502 based single board with full ASCII keyboard 
and 20 column thermal printer. 20 char, al- 
phanumeric display, ROM monitor, fully expand- 
able. $375.00. 4K version S450.00. 4K Assem- 
bler S85.00. 8K Basic Interpreter S100.00. 
Power supply assembled incase S60.00. 



lyp* 012 



TERMS: $5.00 mln. order U.S. Funds. Calil residents add 6% tax. 
BankAmericard and Master Charge accepted. 
Shipping charges will be added on charge cards. 



74 ISDN 
7JI5IN 
741 54M 
741 57N 
74 161 N 
741 62W 
74163N 
74I74N 
7JI75N 
74190N 
74I92N 
74193N 
7422 IN 
74298N 
74365N 
74366N 
74367N 

74LS0O TTL 

74LSOON 
74LS02N 
74LS04M 
74LS05N 
74LS08N 
74LS10N 
74LS13N 
741S14N 
74LS20N 
74LS22N 
74LS28N 
74LS3CN 
74LS33N 
74LS3BN 
74LS74N 
74LS75N 
74LS90N 
74LS93N 
741S95N 
74LSI07N 
7-SLS 1 1 2M 
74LS113K 
74LSI32N 
74LS136N 
74LS151N 
74LSIS5N 
74LS157N 
74LS162N 
74LSI63N 
74LS174N 
74LS190N 
741S22IN 
74LS256N 
7JLS367N 

LINEAR 

CA3045 

CA3046 

CA30B! 

CA3062 

CA3069 

LM301ANAH 

LM305H 

LM307N 

LM3QBN 

LM309H 

LM309K 

LM311HN 

LM317TK 

LM3I6 

LM320K-5 

LM323K-5 

1W320K-12 

LM320K-1S 

IM320T-5 

LM320T-B 

LM320T-12 

LM320M5 

LM324N 

LM339N 

LM340K-5 

LM34QK-B 

LM340K-12 

LM34Q'(-1S 

LM340K-24 

LM340T-5 

LM3407-8 

LM340T.12 

LM34QT-15 

LM340MS 

LM34QT-24 

LM343H 

LM350 

LM370 

LM377 



LM2902 

IM3900H 

LM3905 

LM3909N 

MCI 458V 

NE550N 

NE555V 

NE5S6A 

NE565A 

NE566V 

NE567V 

NE570B 

NE571B 

7BL05 .( 

7BLP8 .1 

79t05 ? 

78M05 I 

75108 1 ? 

75491CN S 

75492CN 5 

75494CN S 

AloD CONVERTER 

80388 4.5 

67U0CJ 13.9 

B7Q1CN 15.9 

675001 13.9 

LO130 9 9 

MOQCJVJT 7.4 

ICL71D3 95 

1CL7107 14,2 

B70Z 17 9 

CMOS 

CO34001 Fair. .S 

CO400O .li 

CD4001 .2 

CD4O02 2 

CD.1006 1.11 

CD4007 .2 

CO4O08 .2 

CD40O9 .3! 

CD4010 3! 

CO4011 .2 

CD40I2 .2 

CD40I3 .31 

CO4014 Bl 

C04015 81 

CO4016 .31 

CO40I7 .9' 

CD401B .9' 

CD4019 Z 

CD1020 1 o; 

CD.I021 1.01 

CD4022 ,84 

C04023 .2: 

C04024 7i 

C04025 21 

CD4026 1.S1 

CD4027 3( 

CO4028 75 

CDI023 I.Oi 

C04D30 .21 

CO4035 1 Ol 

CO404O 102 

CD4042 .71 

C04043 .63 

CD4044 6! 

CD40-J6 1.61 

CD4049 .3( 

C04D5Q 3( 

CD4051 I I: 

C04060 1 42 

CO4066 71 

C04Q6S 40 

CD4069 40 

CD4070 .40 

CO4071 ?! 

C04072 .21 

C04073 21 

CD4075 .21 

CD4Q76 t 75 

0)4078 40 

C04QB1 .21 

CD40B2 .21 

CD4116 .47 

CD4490 5 50 

CQ45Q7 1.00 

CD450B 4.25 

CO4S10 1 02 

CD45H 94 

C045I5 2.52 

CD4516 1.10 

CD4518 1.02 

CO4520 1.02 

CD4527 1,51 

CD4S28 " 79 

C04553 3 $0 
C04566 
CD4583 



8T09 
8T10 
BT13 
8120 
8T23 
BT24 
8T25 
8T26 
8T28 
8T97 



2102- ! 

2102AL-4 

21102-1 

2IF02 

2 10-1 A- 4 

2107B 



UART/FIFO 

95 AY5-1013 

.95 AM- 1014 

.95 3341 
.95 

125 PROM 

4.50 1702A 

3.00 N82S23 

5 50 N82S123 

3.10 N82S126 

3.50 N82S129 

3 20 N82S131 

1.69 NB2SI38 

2,75 N82SI37 

169 2708 

1,69 DMB577 

uh 8223 

1AM 2716T1 
2716 Inlel 



CRYSTALS 

1 MH2 

2 MHz 

4MHi 



2gQ compact 



.95 

1 60 
LIB 
1.25 

4.95 
4 95 



9.95 
3 50 



3.60 



4116 

2513B 

MM5262 

MM5280 

MM5320 

MM5330 

PD411D-3 

PD4 110-4 

P5101L 

4200A 

8ZS29 

91L02A 

H00165-5 

MM571Q0 

GIAV3B500-I 

MCM6571A 

9368 

4100 

416 

CLOCKS 

MM5309 

MM5311 

MM5312 

MM5313 

MM5314 

MM5315 

MM5316 

MM531B 

MM5369 

MM564I 

MM5B65 7.95 

CT7001 5.80 

CT70O2 10.95 

CT70T0 8.95 

CT7015 8.95 

r.lM'MoAA'N 3.90 

MM5375AB/N 4 90 

7205 16.50 

7207 7.50 

7208 15 95 

7209 4.95 
□SD026CN 3.75 
[):-,OChfiCN 3.75 
MM53104 250 

MICROPROCESSOR 
6600 17.50 

6802 2495 

8080A *ith data 8.95 
8085 27 00 



6216 

8224 

B228 

8251 

B253 

8255 

B257 

B2S9 

1B02CP pias 

■ — "Pplas. 



5 Mlt; 

I 95 is Mm 

6 75 a MHi 

10.95 32 MHr 

6 30 327GB UHi 

■ ?° I B432 MHi 

3 00 3,5785 mi 

9-95 2 0100 MHi 

5-94 2.0JJ71!,;' Mil- 

fOg 2.4576 MH: 

5 00 3276BMH: 

13 95 5 06BBMHI 

9 95 5 1B5MHI 

2-90 5.7143 MH* 

'•50 6 5535 MHi 

69a 14.31618 MHi 

*50 18 432 MHi 
22 1184 MH; 



MA1 003 ear module .3 
green lluor dtipliy 

RESISTORS '. ...if :.■ 
tO per type 03 1000. . 
25 per typo 025 350 piece pact 
100 per iypfl 015 5 per lype 6 75 
KEYBOARDS 

55 key ASCII keyboard kit $67.50 
fully assemrjled 77.50 

53 key ASCII keyboard fat 60 00 

FuBy assembled 70 00 Enclosure 1 4 95 
LEDS 

ReOTOIB 15 

Green ttJlow toib 20 

Jumbo Red 20 

Greun. Orange. Yellow Jumbo 25 
Cliplilt LEO Mounting Clips 85125 
{specify red. amber, green, yellow clrar) 
CONTINENTAL SPECIALTIES In ittck 
Complete tine ol breadboard test equp 
MAX. mo B ditjrt Froq. Or. S12B.S5 
OK WIRE WRAP TOOLS In sleek 
Portable Mulllmilet SIBOO 

DIGITAL THERMOMETER »i 50 

Ban oper General purpose or medcal 
32 -230 f Disposable probe corer 
- 2 accuracy Comp. Assy in 

iwilches from F toC 
COMPUTER BOARD KITS 
BK RAM Board Kit S135 DO 

4K EPROM Kit 114 95 

I/O Board Kit ia 50 

Enender Board w/connecior 12 50 

!6K EPROM board kit wo PROMS '4 50 
Not* Star Floppy Utik Kit S665.00 

Addilmnai Drive Kit 415 00 

SPECIAL PRODUCTS 
MM5BG5 Stopwatch Timer 



PCh 



7.50 



Smilchei Mom Puslibud 

3 pos slide 
Encodar HD0165-5 6.95 

3 Olgll Unlversil 
Cou nle r Board KH 
Operalcs 5- IB Voti DC Id 5 MHi 
typ 125 LED display 10.50 

Voice acluiled switch .50 

Pinlronlci 100A Logic 



Model 150 Bus 



S235 00 



S369 01 



COHNEaORS 
44 pin udge 2.75 
100 pin edgn 4.50 
100 pin edge WW 4.75 



KEYBOARD ENCODERS 

« nu AYS- 23 76 

3 60 AY5-36D0 

3 90 74C922 

4.00 74C923 

5 00 HD0185-5 
3.6D 

2 10 ic Ten Clips 



TimNStKTORS 

2N1893 

2N2222A 

2N2369 

2N2904A 

2N2907A 

2N3053 

2N3638 

2N3643 

2N3904 

2N3906 

2N3055 

2N4400 

2N4401 

2N4402 

TIP31 

IIP33A 



Sinclair 3 ' : Olgll 

Mulllmaler 

Clock Calendar KH S23.9 

TRANSFORMERS 

6V 300 ma 3.2 

12 Vol! 300 ma liamlormer 1 2 

12,6V CT 600 Ml 3.7 

12V 250 ma wall plug 2.9 

S12 50 '?V CT 250 ma wall plug 3.5 

13 50 24V CT 400 ma 3.9 

5 en ,0v ' 2 amp wall plug 4 8 

1% 12V 6 amp 12 9 

6.95 DISPLAY LEDS 

MAN1 CA 270 2.9 

MAN3 CC 125 .3 

10 MAN7274 CACA 300 I.OI 

OL704 CC .300 1 25 

DL707B CA .300 I 00 



CAjCC .500 1.90 

CWCC .600 1,95 

CC .600 1.95 

CC .357 .70 

COCA 500 1.35 

CC'CA 500 90 

CDCA BOO 2.20 

60 



OL727,'728 

DL747/750 

DL750 

FND359 

FN0500.'507 

FN0503'510 

FN08OO-807 

3 digit Bubble 

4 digit bubble 
DG8 Fluorescent 
DG10 Fluorescent 

5 digrt 14 pin display 
NSN59 9 digit display 
7520 Clairei phulocells 
TIL311 He» 
COMPUTER 1111*1)1 CAPS 

mid 200V 



I u<: 



2000 
3200 
5500 
5600 
6100 
6100 
77D0 



mtd 



45V 



2.25 186 IP 

4.50 COP1B02CD 



Connecton RS232 
25 Pm Sub mniatures 

DB25P 2.95 8000 

DB25S 3.95 1Q000 

Cover 1 50 12000 

RS232 Complele Sel 6 50 35000 

DE9P 150 55000 

DE9S 1.95 82000 

OA15P 2 10 60000 

OA15S 310 76000 



Multi-volt Computer Power Supply 

8v 5 amp. s18v .5 amp, 5v 1.5 amp, -5v 
.5 amp, 12v .5 amp, -12 option. ^5v. *12v 
areregulaled. Kit $29.95. Kit with punched frame 
$34.95. Woodgrain case $10.00. 



Video Modulator Kit $8.95 

Convert your TV set into a high quality monitor 
without affecting normal usage. Complete kit 
with full instructions. 



2.5 MHz Frequency Counter Kit 

Complete kit less case $37.50 

30 MHz Frequency Counter Kit 

Complete kit less case $47.75 

Prescaler kit to 350 MHz $19.95 



79 IC Update Master Manual $3500 

Complete IC data selector, 2500 pg. master ref- 
erence guide. Over 50,000 cross references. Free 
update service through 1979. Domestic postage 
$3.50. Foreign $5.00. 1978 IC Master closeout 
819.50. 



Stopwatch Kit $26.95 

Full six digit battery operated. 2-5 volts. 
3.2768 MHz crystal accuracy. Times to 59 
mln,, 59 sec, 99 1/100 sec! Times std., split 
and Taylor. 7205 chip, all components minus 
case. Full instructions. 



Hickok 3V2 Digit LCD Multimeter 

Batt/AC oper. 0.1mv-1000v. 5 ranges. 0.5% 
accur. Resistance 6 low power ranges 0.1 
ohm-20M ohm. DC curr. .01 to 100ma. Hand 
held, W LCD displays, auto zero, polarity, over- 
range. $74.95. 



S-100 Computer Boards 

8K Static RAM Kit Godbout $135.00 

16K Static RAM Kit 265.00 

24K Static RAM Kit 423.00 

32K Dynamic RAM Kit 310.00 

64K Dynamic RAM Kit 470.00 

8K/16K Eprom Kit (less PROMS) $89.00 

Video Interface Kit $139.00 
Motherboard $39. Extender Board $8.99 



FREE: Send for your'copy of our NEW 1979 
QUEST CATALOG. Include 28c stamp. 



Circle 311 on inquiry card. 



BYTE lune 1979 281 



Circle 384 on inquiry card. 



nimiii imiiiiiUHiiiniiTHiii-n 




z^Bda 



corp. MORE DATA PER DOLLAR J 



OTRS-80 Complete System 

ncludes: CPU/Keyboard, Power Supply, 
Video Monitor, Cassette Recorder, Manual, 
and Game Cassette. 

QLine Printer 
©Mini Disk System 
QC-10 Cassettes 
©Verbatum Diskettes 




Description 

TRS-80 Complete System 
Levelll-4KRAM 
TRS-80 Complete System 
Level N-16KRAM 
Expansion Interface 
Pertec FD200 Disk Drive 
BASF 61 06 

Centronics 779 Printer 
Centronics 101 Printer 
Anadex DP-8000 Printer 
Centronics P1 Printer 
560 (selectric) Printer 
Memory Unit (installed) 

(kit) 
Verbatum Diskettes 



Maxell Diskettes 



C-1 Cassettes 



ea. 

3 

10 
ea. 

3 
10 

5 

25 
12 



Each 

$ 628.20 

$ 889.20 
$ 269.10 
$ 385.00 
$ 495.00 
$1299.00 
$1400.00 
$ 995.00 
445.00 
975.00 
138.00 
98.00 
4.95 
12.00 
37.00 
7.50 
21.00 
60.00 
4.50 
18.75 
23.95 



$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 
$ 



1 MEG + 

OF DISK MEMORY 

on line for TRS-80 

$2195 

Includes — Operating System (CP/M) 

HUH Electronic S-100 Interface 

to TRS-80 

Kit $280.00 Assembled $350.00 

Outlet Hours: Mon.-Fri.; 9 am. — 7 pm. 

Sat. 12— 5 pm. 
Write or call for new innovations — 
Printers, Disks, Etc. 



5B13L 



C-30 Cassettes 

Paper (9V 2 " x 1 1 " fanfold, 

3500 sheets) $ 29.95 

Instruction offered in Level II Basic— $49.95; and DOS/Disk Basic— $69.95 



777 Henderson Boulevard N-6 
Folcroft Industrial Park 
Folcroft PA 19032 
(215) 461-5300 
In Washington, DC area: 
(703) 938-1099 




Classroom 

tmnniiimiimimiiif iiiiiiiH 



r 



BECKIAN ENTERPRISES 




All Prime Quality — New Parts Only 

Satisfaction Guaranteed 



EDGE C ARD CONNECTORS: GOLD PLATED. INot Gold Flashl 
BODY: Nlon brittle. Solvent res.. G.E. Valox. 
CONTACTS: Bifurcated: Phos/Bronze: Gold over Nickel. 
ABBREVIATIONS: S/T Solder Tail; S/E Sold. Eyelet: 

W/W Wire Wrap 3: SW/W Short W/Wrap; 



PART It Description 

5010 50/100 S/T ALTAIR 

5020 50/100 S/T IMSAI 

5030 50/ 1 00 W/W IMSAI 

5040 50/1 00 S/E ALT/IMSAI 

5050 50/100 S/T CROMEMCO 

1450 IMSAI CARD GUIDES 

.100" Contact Center Connectors. 



1020 
1040 
1050 
1060 
1065 
1070 
1075 
1080 
1085 
1090 
1093 
1095 



13/26 S/E Imsai MIO: 
25/50 S/E 
25/50 S/T 
36/72 W/W Vector. 
36/72 S/T Vector. 
40/80 S/E PET 
40/80 W/W PET 
40/80 S/T PET 
43/85 S/E Cos. ELF 
43/86 S/T Cos. ELF 
43/86 S/T Cos. ELF 
43/86 W/W Cos. ELF 



POLARIZING KEYS: For Above 

.156" Contact Center Connectors. 

1550 6/- S/E PET. Etc 

1560 6/12 S/TPET:NSC. 

1575 12/24 S/E PET 

1580 12/24 S/T PET 

1590 1 5/30 S/E GRI Keybd. 

1620 18/36 S/E 

1650 22/44 S/E KIM. VECTOR 

1660 22/44 S/T KIM, VECTOR 

1670 22/44 W/W KIM. VECTOR 

1690 36/72 W/W 

1710 36/7 2 S/E 

1720 36/72 S/T 

1730 43/86 S/T Mot. 6800 

1740 43/86 S/T Mot. 6800 

1 750 43/86 W/W Mot. 6800 

POLARIZING KEYS: For Above 



Row Sp. 

.140 
.250 
.250 
.140 
.250 



.140 
.140 
.140 
.200 
.200 
.140 
.200 
.140 
.140 
.140 
.200 
.200 



.140 
.140 
.140 
.140 
.140 
.140 
.140 
.140 
.200 
.200 
.140 
.200 
.140 
.200 
.200 



1-4 

3.75 
3.95 
4.10 
5.00 
6.25 
0.16 



2.10 
2.95 
3.00 
4.80 
4.00 
4.80 
5.00 
4.90 
5.00 
5.10 
4.95 
5.50 
0.10 



1.30 
1.35 
2.15 
2.10 
2.25 
2.40 
2.20 
2.00 
2.40 
3.90 
3.50 
3.30 
4.40 
4.35 
4.45 
0.10 



5-9 


10-24 


3.50 


3.30 


3.75 


3.50 


3.90 


3.70 


4.50 


4.25 


6.00 


5.75 


0.14 


0.12 



1.85 
2.75 
2.80 
4.60 
3.75 
4.50 
4.65 
4.60 
4.75 
4.85 
4.70 
5.20 
0.10 

1.10 
1.15 
1.95 
1.90 
2.05 
2.20 
2.00 
1.80 
2.20 
3.75 
3.30 
3.10 
4.15 
4.10 
4.25 
0.10 



1.75 
2.50 
2.60 
4.30 
3.50 
4.30 
4.35 
4.25 
4.50 
4.60 
4.45 
4.90 
0.10 

0.90 
0.95 
1.75 
1.70 
1.85 
2.00 
1.80 
1.70 
2.00 
3.50 
3.10 
2.90 
3.90 
3.85 
4.10 
0.10 



RS232 & D- TYPE SUBMINIATURE CONNECTORS: 



QUANTITY 



DE9P Male 
DE9S Female 
DE1 10963-1 
DA15P Male 
DA15S Female 
DA51211-1 
DAI 10963-2 
DB25P Male 
DB25S Female 
DB51212-1 
DB51226-1A 
DB1 10963-3 
DC37P Male 
DC37S Female 
DC1 10963-4 
DD50P Male 
DD50S Female 
DD51216-1 
DD1 10963-5 
D20418 2 Hard 



2pc. Grey Hood 



1 pc. Grey Hood 
2pc. Grey Hood 



Ipc. Grey Hood 
2pc. Black Hood 
2pc. Grey Hood 



2pc. Grey Hood 



1 pc. Grey Hood 
2pc. Grey Hood, 
ware Sets 



1-4 

1.45 
1.93 
1.20 
1.95 
2.80 
1.25 
1.22 
2.20 
3.20 
1.30 
1.40 
1.35 
3.70 
4.90 
1.95 
4.40 
4.90 
2.30 
2.40 
0.75 



5-9 

1.35 
1.80 
1.10 
1.80 
2.60 
1.15 
1.10 
2.10 
3.00 
1.20 
1.30 
1.25 
3.50 
4.70 
1.85 
4.30 
4.70 
2.10 
2.20 
0.70 



10-24 


I.C. SOCKETS. GOLD. 


1.25 


WIRE WRAP 3 TURN. 


1.70 


14 pin $0.36 ea. 


1.00 


16 pin 0.38 ea. 


1.70 




2.40 




1.10 




1.05 


I.C. SOCKETS. 


1.90 


Dip Solder. Tin. 


2.70 


14 pin $0. 15ea. 


1.10 


1 6 pin 0.1 7 ea. 


1.20 




1.15 




3.35 




4.40 


8080 PRIME 


1.75 


$8.00 ea. 


4.10 




4.50 




1.90 




2.00 


2708 EPROMS PRIME 


0.65 


$14.00 ea. 



CONNECTORS FOR CENTRONICS 700 SERIES: 
Amhpenol 57-30360 For Back of Centronics '700' Series: 

Price: $9.00ea. 5 pes. $7.50ea. 

WHISPER FANS: Excellent for Computer cabinet cooling. Extremely quiet. 
Dim. 4-3/4" x 1-1/2" thick. U.L. Listed. .V4 5;9 10-24 

$22.00 $19.00 $18.00 
WRITE FOR LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES ARE 
WELCOME. 

WE ARE CONNECTOR IEDGE CARD) SPECIALISTS. IF YOU DO NOT SEE 
WHAT YOU NEED IN THIS ADVERTISEMENT, PLEASE WRITE US. WE WILL 
REPL Y. 

TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All orders 
over $25. 00 in USA and Canada: WE PA Y THE SHIPPING. 
NOTE: CA residents please add 6% sates tax. 

NO COD. SHIPMENTS OR ORDERS ACCEPTED. 

BORDERS TO: Beckim ^jft,,^^ 

P.O. Box 3089 
Simi Valley, CA 93063 



282 



BYTE June 1979 



Circle 30 on inquiry card. 




computer 
products, inc. 



11542-1 KNOTT STREET 
GARDEN GROVE. CALIFORNIA 92641 

(714)891-2663 



MICROBYTEZ80/I-O 



A complete single board Z80A 
CPU and serial/paralle 1/0 system 
Fully S-100 Bus compatible, 
IMSAI, ALTAIR 

Z80A CPU <4MSs version of the 
Z80) 

158 instructions — superset of 
and upward compatible from the 
6080's 78 instructions 
1K (2708), 2K (2716), or 4K (2732) 
EPROM onboard with Z80 
Monitor program 
On board EPROM can be hard- 
ware and/or software deselected 
2MHs or 4MHs operation is 
switch selectable 

or 1 wait state for all cycles is 
switch selectable 

Full vectored interrupt capability 

(7 bits) with NMI (1 bit) 

2 RS-232C serial ports with 8251 

USARTs 

Serial baud rates switch 

selectable 

1 8-bit parallel port with 2 control 
lines with Z80A-PIO 



Gold Contacts for higher relia- 
bility 

Power requirements: + BV @ 
800mA, +16V, @ 86mA, - 16V 
@ 100mA 

Operating temperature 0'-55*C 
Will operate with or without 
IMSAl/ALTAIR front panel 
Low power shotttky trl-state buf- 
fers on all address and data lines 
Fully warranted for 120 days from 
date of shipment 




$360.° 



8251 

PROGRAMMABLE/U-ART 
TESTED® 4 MHZ 

$6. 00 each 



2708's 

LOW POWER 
450 NS. 

$9. 00 each 

8for$69. 00 



IMSAI CONN. 

100PIN-SOLDERTAIL 
GOLD CONTACTS 

$3." each or 10/ 2.75 ea. 



SA400 

DISK DRIVE INCLUDES 

CABINET, NO PWR SUPPLY 

CUTOUTS FOR SWITCH, 

FUSE, & INTERFACE CABLE 

Mfg. By Lobo Drive 
$325. 00 



MICROBYTE 16K STATIC RAM BOARD 



Fully S100 Bus Compatible, 
IMSAI, SOL, ALTAIR, ALPHA 
MICRO 

Uses National's Low Power 5257 
4K x 1 Static Rams 
2 MHz or 4 MHz operation 
On board single 5 amp regulator 
Thermally designed heat sink 
(board operating temperature 0° 
- 70 *C) 

Inputs fully low power Shottky 
Schmitt Trigger buffered on all 
address ana data lines 
Phantom is jumper selectable to 
pin 67 

Each 4K bank addressable to any 
4K slot with In a 64K boundary. 
4K hardware or software select- 
able 

Selectable port address 
4K banks can be selected or dis- 
abled on power on clear or reset 



WIN operate with or without front 
panel 

Compatible with ALPHA MICRO, 
with extended memory manage- 
ment for selection beyond 64K 
No DMA restriction 
Low power consumption 1.3 amp 
Fully warranted for 120 days from 
date of shipment 



TRS ■ 80 




FLOPPY DISK DRIVE WITH 
CABINET & PWR. SUPPLY 
COMPATIBLE WITH RADIO 
SHACK INTERFACE ASSEMBLED 
& TESTED WITH 1 YR. WARRANTY 
ON PARTS & LABOR 
Mfg. By Lobo Drive $385. 00 



450 NS $340.°° 
300 NS $360.°° 



REGULATORS 



MICROBYTE 32K STATIC RAM BOARD 



Fully S100 Bus Compatible, 
IMSAI, SOL, ALTAIR, ALPHA 
MICRO 

Uses National's Low Power 5257 
4K x 1 Static Rams 
2 MHz or 4 MHz operation 
On board single 5 amp regulator 
Thermally designed heat sink 
(board operating temperature 0' 
- 70 -C) 

Inputs fully low power Shottky 
Schmitt Trigger buffered on all 
address and data lines 
Phantom is jumper selectable to 
pin 67 

Each 4K bank addressable to any 
4K slot with in a 64K boundary. 
4K hardware or software select- 
able 

One on board 8-bit output port 
enables or disables the 32K in 4K 
blocks 

Selectable port address 
4K banks can be selected or dis- 
abled on power on clear or reset 



Will operate with or without front 
panel 

Compatible with ALPHA MICRO, 
with extended memory manage- 
ment for selection beyond 64K 
No DMA restriction 
Low power consumption 2.3 — 
2.5 amps 

Fully warranted for 120 days from 
date of shipment 



320 T-5 
320T-12 
340 T5 
340 T- 12 
78 H05 



1-9 10-49 
.90 .85 

.90 .85 
.85 .80 
.85 .80 



50 up 
.75 

.75 
.70 
.70 



6.50 6.00 5.50 



2716 

5 VOLT ONLY 
LOW POWER 
HIGHSPEED 

$45. 00 

Limited Qty. 



MM 5257 

4KX1 STATIC RAM 



300 NS 
450 NS 



1-16 

6.50 
6.25 



17-48 

6.05 
5.85 



49 up 

5.65 
5.50 



SOCKETS — LO PROFILE 

(tin) 




450 NS $650.°° 
300 NS $680.°° 



14 PIN 
16 PIN 
18 PIN 
20 PIN 
24 PIN 
40 PIN 



1-24 

.18 
.19 
.24 
.29 
.34 
.60 



25-99 
.17 
.18 
.23 
.28 
.33 
.59 



100-499 

.15 
.16 
.20 
.26 
.32 
.58 



500 up 

.13 
.14 
.18 
.25 
.30 
.56 



MICROBYTE DISK 
CONTROLLER 



> IBM 3740 Soft Sectored Compat- 
ible 

■ Z80 or 8080 compatible on S-100 
Bus 

' Single density runs both mini and 
full size drives, runs CPM, on 
Shugart, Persci, Memorex etc. 



$250, 



• Selectable port/address 

• On bord 2708/2716 for bootstrap 
or monitor program 

• No hardware Jumpers, uses plug 
in modules for different drives 

• Uses 1771B-01 controller chip 

• Assembled and tested 

oo 



CALL FOR INFO 
ON OUR NEW 

PROM/ 
PROGRAMMER 

PROGRAMS 2708 / 
2716 / 2732 



SPECIAL 

.1 @ 12 VOLTS 
CERAMIC CAP 

9$ each 

100 for $8. 00 



SHUGART 

801 -Disk Drive 

WITH CABINET & POWER SUPPLY 

ASSEMBLED & TESTED 

1 YR PARTS & LABOR 

Mfg. By Lobo Drive 

$585. 00 



MICROBYTE MOTHERBOARD 



> Active Diode termination 
1 Slot for IMSAI front panel 
i Terminal block connection for 
easy hook-up 



• Extra wide ground plane 

• Silk screen and solder mask 

• Assembled and tested 



9 SLOT $135. 00 
20 SLOT $200. 00 



ORDERING INFORMATION: 

Name, Address, Phone 

Ship by: UPS or P.P. 

Shipping Charge: Add $2.50 up to 
5 lbs., all excess shipping 
charges will be refunded. Credit 

cards will be charged appropriate 
freight. 



TERMS: 

We accept cash, check, money 

orders, Visa, and Master Charge 

cards. 

COD's: on approval only 

Open Acct's: companies may 

inquire for net terms. 
Tax: add 6% for Calif, residents only 



Circle 11 on inquiry card. 



BYTE June 1979 



283 



Circle 387 on inquiry card. 

WAMECO 

THE COMPLETE PC BOARD HOUSE 
EVERYTHING FOR THE S-100 BUSS 

* FPB-1 FRONT PANEL BOARD * EPM-2 16K or 32K BYTE EPROM 

Hex Displays, IMSAI Replaceable $54.95 2708 or 2176 interchangeable $30.00 

* FDC-1 FLOPPY DISC CONTROLLER BOARD *QMB-9 9 SLOT MOTHER BOARD 
Controls up to 8 Discs $45.00 Terminated $35.00 

*MEM-1A 8K BYTE 2102 RAM Board ....$31.95 *QMB-12 12 SLOT MOTHER BOARD 

*MEM-2 16K BYTE 2114 RAM Board ....$31.95 Terminated $40.00 

*CPU-1 8080A CPU Board * RTC REALTIME CLOCK 

With Vector Interrupt $31.95 Programmable Interrupts $27.95 

*EPM-1 4K BYTE 1702A EPROM $29.95 

FUTURE PRODUCTS: 80 CHARACTER VIDEO BOARD, 
IO BOARD WITH CASSETTE INTERFACE. 

DEALER INQUIRIES INVITED, UNIVERSITY DISCOUNTS AVAILABLE 

AT YOUR LOCAL DEALER 



wmc 



iffC. WAMECO INC. 111 GLENN WAY #8, BELMONT, CA 94002 (415)592-6141 



COMMERCIAL GRADE PERIPHERALS FOR THE MICROCOMPUTER 



PRINTER 
TERMINALS 




I" 1 ::';; TT77] 
• ILL I 



MODEMS 




TAPE DRIVES 



•ASCII SELECTRIC PRINTER/TYPEWRITER: Why settle for less than 
letter-quality printout from your computer? Refurbished IBM Model 725 
can be used as off-line typewriter or on-line printer. Complete with solenoids, 
power supply, case and ASCII interface card (TTL to CPU parallel port.) 
Interface includes programmable ASCII translation table on EPROM with up to 
8 tables for use with various type spheres. Feedback signals on completion of 
each print cycle insures fastest printing speed (15 cps.) 

Price: programmed w/3 translation tables (one type sphere}: $695.00 

•SELECTRIC I/O TERMINALS (by GTE/Information Systemsl. Both ASCII 
& IBM code versions with microcomputer interface software & hardware (RS- 
232 connector.) Cassette drive models permit up to 2400 baud data transfer 
rate as well as off-line data storage, use as memory typewriter, & use as data 
entry device for office personnel familiar with Selectric typewriters but not 
computers. Wide-carriage, interchangeable type spheres; optional built-in 
modem. All units cleaned, adjusted & warranted. 

Model 5541 (IBM Correspondence code) $695.00 

Model 5550 (corres. code, built-in cassette drive) $1195.00 

Model 5560 (ASCII code, built-in cassette drive). $1295.00 

• IBM SELECTRIC 725 TYPEWRITER I/O w/solenoids switches & magnet 
driver PCB (from GTE/IS terminal) plus instructions for 8080 printer-driver 
interface hardware & software. 

a) Typewriter mechanism complete, cleaned & adjusted .... $375.00 

b) Case from terminal & power supply(+24V, +12V, +5V @5A). . $ 75.00 

• DIABLO HYTYPE I Model 1200 PRINTER MECHANISM: used, complete 
and tested. Requires power supply, case & mCPU interface. 15 day return 
privilege - no other warranties. LIMITED QUANTITY! $750.00 

—6' Ribbon cable & connector for printer Main Logic PCB $10.00 

-14-pin Winchester connector & 18" power supply cable $5.00 

-"As-is" spare printer PCB's for parts (Logic, Heat Sink, Control): ea. $20.00 
—New Pin-feed Platen (14"): $50 if bought w/printer; separately . . . $100.00 
_— — — _— ____^^__ NO RISK! 



Full documentation included PLUS interface instructions 
where indicated. All equipment is shipped insured FOB 
Palo Alto within 14 days after check clears or COD 
order is received. Prices may change without notice. 



• POS 103/202 "MIX or MATCH" MODEM: BELL 103 and/or BELL 202 
FREQUENCIES: Unique POS control design permits use in one housing of 
both Bell-compatible 103 (0 - 300 baud) and 202 (0 - 1200 baud) modem 
modules originally made by VADIC Corp. for a telephone company subsidiary. 
FEATURES: RS-232 serial interface, auto-answer, auto-dial, LED display, 
telephone line interface via acoustic coupler, manual DAA, or auto-answer 
DAA Isold separately.) FULLY ADJUSTED; no special tools required. 
3,000 mile range over standard dial-up telephone lines. 

-POS 103 MODEM (with Auto Answer, Auto Diall $199.95 

1 POS 202 MODEM (Half-Duplex with Reverse Channel) $249.95 

-POS 202 MODEM (Half-Duplex w/Rev. Ch., Auto-Answer) $279.95 

-POS 103/202 MODEM (Auto-Answer, Auto-Dial) $399.95 

•POS-100 NRZ1 TAPE DRIVE CONTROLLER/FORMATTER: Designed as 

interface between S-100 bus mCPU and 9-track, 800 BPI, NRZ1 tape drive. 

Allows microcomputerist to read and write IBM-compatible V4" mag tapes. 

Software provided for 8080 or Z-80 systems. Requires modification for drives 

of various mfrs. 

Price: (Includes S-100 card, controller card, 10' cable, software listing) . $750.00 
•NRZ1 TAPE DRIVE by WILLARD LABS. 9-track, 800 BPI, NRZ1 format, 

12"/sec., 1200 ft. reels (10 megabyte capacity) Fully tested and warranted $599.00 
•CONVERT 15" IBM OFFICE SELECTRIC TO I/O TYPEWRITER: Kit 

includes assembled solenoids, switches, wire harness, magnet driver PCB plus 

instructions for installation and mCPU interface $200.00 

• DIGITAL CASSETTE DRIVE (from GTE/IS Terminal I: 1800 baud, 6"/sec; 
AC motor; fwd/rewnd circuitry plus tape head, no read/write electronics $25. 

•FORMS TRACTORS, Moore Variable width "Form A-Liner" for print terminals: 

a) Model 565P for 15" Carriage IBM Selectrics (new): $50.00 

bIModel K81 for QUMEor DIABLO Hytype I or II printers (new): .... $90,00 
•POWER SUPPLIES for Disk Drive, mCPU, tested under load shown: 
-No. 519 Iw/fan & AC cord): +5V reg., +12V reg., +24V, @4A (101b.). . $29.95 

-LAMBDA No. LMEE5 w/OV protect: +5V reg. @ 25A (35 lb.) $59.95 

15 DAY APPROVAL ON ALL "•"" """■-"'- 
¥■ PACIFIC OFFICE SYSTEMS, INC. M, Call or write for details, quantity prices, catalog. 15day 
£§[ 2600 El Camino Real, Suite' 502 fil return privilege PLUS 90 day no charge replacement of 
^ Palo Alto, Calif. 94306 ^f defective parts. All orders shipped from stock. No back 

J^ (415)321-3866 [i orders, no substitutions. M/C & VISA accepted. 



284 



HYTE lune 1979 



Circle 296 on inquiry card. 



Circle 354 on inquiry card. 




BUILD YOUR OWN LOW COST 
MICRO-COMPUTER 

POWER SUPPLIES 

FOR S-100 BUS, FLOPPY DISCS, ETC. 




POWER TRANSFORMERS (with mounting brackets) 



ITEM 
NO. 



USED IN 
KIT NO. 



PRI. WINDING 
TAPS 



SECONDARY WINDING OUTPUTS 
2x8 Vac 2x14 Vac 2x24 Vac 



SIZE 
W x D x H 



UNIT 
PRICE 



T1 
T2 

I 3 
T4 



OV, 110V, 
0V, 110V, 
0V, 110V, 
OV, 110V, 



120 V 
120 V 
120V 
120V 



2x9A 
2X12.5A 
2x10A 
2x4.5A 



2x2.5A 
2x3.5A 
2x2.5A 



2x2.5A 
2x4.5A 



3%"x3 5 /B"x3Va" 
3%"x43Vx3 1 /b" 
3%"x4%"x3 1 /8" 
3%"x3%"x3ya" 



19.95 
25.95 
27.95 
19.95 



POWER SUPPLY KITS (open frame with base plate, 3 hrs. assy, time) 

ITEM USED FOR @+8 Vdc @-8Vdc @+l6Vdc @-16Vdc @+28 Vdc 



SIZEWxDxH UNIT PRICE 



KIT 1 18 CARDS SOURCE 18A 

KIT 2 SYSTEM SOURCE 25A 

KIT 3 DISC SYSTEM 18A 

KIT 4 DISC SOURCE 8A 



1A 
1A 



2.5A 
3A 
2A 



2.5A 
3A 
2A 



4A 
8A 



12"x6"x4%" 
12"x6"x4%" 
14"x6"x4%" 
10"x6"x4%" 



46.95 
54.95 
62.95 
44.95 



EACH KIT INCLUDES: TRANSFORMER, CAPACITORS, RESIS., BRIDGE RECTIFIERS, FUSE & HOLDER, TERMINAL BLOCK, BASE 
PLATE, MOUNTING PARTS AND INSTRUCTIONS. 

REGULATED POWER SUPPLY "R1 " assy. & tested, open frame, size: 9" (W) x 5" (D) x 5" (H) $49.95 

SPECS: +5V, ±1%, @ 5A, OVERCURRENT PROTECTION, 5% ADJ. FOR +5V. +24V UNREG. @ 5A FOR PRINTERS OR DISCS. 
REMARK: IDEAL FOR ROCKWELL AIM-65 MICROCOMPUTER. ALSO UNREG. ~8V @ 8A ATTAINABLE FOR USE IN S-100 BUS. 
SHIPPING FOR EACH TRANSFORMER: $4.75. FOR EACH POWER SUPPLY: $5.00 IN CALIF. $7.00 IN OTHER STATES. CALIF. RESIDENTS ADD 6% SALES TAX. OEM WELCOME. 



MAILORDER: 

P.O. BOX 4296 

TORRANCE, CA 90510 



SUNNY INTERNATIONAL 

(TRANSFORMERS MANUFACTURER) 
Telephone: (213) 633-8327 



STORE: 

7245 E. ALONDRA BLVD. 

PARAMOUNT, CA 90723 

STORE HOURS: 9 AM-6 PM 



COMPUCOLOR II IS HERE!! 



HERE IS A SURPRISINGLY 
AFFORDABLE COMPUTER 
THAT MAKES THE COMPE- 
TITION LOOK TWICE 1 1 

STANDARD FEATURES 

* 13" COLOR CRT 

' SPECIAL GRAPHICS PKG. 

* EXTENDED DISK BASIC 
'MINI DISK DRIVE 

* 8K RAM MEMORY 

* 72 KEY KEYBOARD 



PRICE & OPTIONS 

MODEL 3- 8K USER RAM -1495. oo 
MODEL 4-16K USER RAM -1695 .00 
MODEL 5-32K USER RAM- 1995.oo 
2nd DISK DRIVE -400.oo 

EXPANDED KEYBOARD - 1 3 5 .00 

FORMATTED DISKETTE - 5 .00 

MANY PROGRAMS AVAILABLE * 

TO ORDER 

SEND CHECK OR MONEY ORDER 
CALIF. RES. add 6% TAX 
shipping 1% all orders 




HOLLYWOOD 
SYSTEMS 



CATALOG - 50< 



9100 SUNSET BLVD. 

SUITE 112 

LA. CALIF. 90069 



Circle 174 on inquiry card. 



BYTE June 1979 285 



Unclassified Ads 



NEW UNCLASSIFIED POLICY 

Readers who have equipment, software or other items 
to buy, sell or swap should send in a clearly typed notice 
to that effect. To be considered for publication, an adver- 
tisement must be clearly noncommercial, typed double 
spaced on plain white paper, contain 75 words or less, and 
include complete name and address information. 

These notices are free of charge and will be printed one 
time only on a space available basis. Notices can be ac- 
cepted from individuals or bona fide computer users clubs 
only. We can engage in no correspondence on these and 
your confirmation of placement is appearance in an issue of 
BYTE. 

Please note that it may take three or four months for an 
ad to appear in the magazine. ■ 



MUST SELL: SwTPC 6800 computer system, in- 
cludes 16 K programmable memory, two serial 
ports, PerCom Data CIS-30 plus cassette storage 
unit, software and manuals. $525 buys everything; 
shipped post paid. Don Domek, 535 Burlington, 
Billings MT 59101, (406) 248-3477. 

FOR SALE: One SD sales expandoram set up with 
integrated circuits for 16 K (for 1 15-41); has prob- 
lem. Data can be entered and retrieved but pro- 
grams will not run, $200. CFI add-on memory for 
IBM system III, mod 6 or 10, 16 K. Working con- 
dition, with cables, $2000 or best offer. Norm 
Doty, 53 Kaufman Rd, Cheektowaga NY 14225, 
(716) 892-8829. 

FOR SALE: KIM system KIM-1 Computer, Enclo- 
sures Group case, miniature 4 K wire wrap memory 
'?1 L02s}, TVT-6 video interface, surplus video 
monitor, Radio Shack ASCII keyboard, oscillator/ 
driver board and speaker, I/O (input/output) con- 
nector block, 5 V, 1 A supply, 5 V, 2 A +/12 V, 
1 A supply. All for $450. Ron Kushnier, 3108 
Addison Ct, Cornwells Heights PA 19020, (215) 
757-9057. 

FOR SALE: IMSAI 4 K static, $80. MITS 4 K 
dynamic, $50. Tarbell cassette board, $90. MITS 
ACR, $70. MITS disk drive with BASIC and 
FORTRAN, $1,300. MITS-Okidata printer with 
controller, $1,500. All boards fully socketed and 
factory checked out. Make offer. For trade: 8080 
FORTRAN MITS disk version for 8080 COBOL or 
MITS timesharing BASIC. Manuals available. K R 
Roberts, 10560 Main St, Suite 515, Fairfax VA, 
22030, (703) 591-6008 or 378-7266. 

FOR SALE: SwTPC MF-68 minifloppy disk sys- 
tem, $850. CT-64 terminal with two pages mem- 
ory, screen read board, etc. Also CT-VM monitor, 
$450. Two MP-8M memory boards, $190 each. 
Expandor black box printer with base, cover and 
case of paper, $390. Will make good price on TSC 
disk software to purchaser of minifloppy. All units 
are complete with documentation, were assembled 
by a professional and are 100 percent functional. 
John Gorman, 143 Chenault Rd, Lexington KY 
40502. 

FOR SALE: Digital Group Z-80 26 K, dress cab- 
inet, 64 character TV controller, two Phi-Decks 
and controller, PHIMON, Business BASIC etc. 
Original cost over $3,000. Will sell for $1,995. 
William C Dewberry Jr, 314 Interbay Av, 
Pensacola F L 32597, (904) 456-1061 . 

FOR SALE: A complete computer system consist- 
ing of an Altair 8800-A with 36 K of static pro- 
grammable memory, a North Star 5 inch floppy 
disk drive, VDM-1, 3P+S, Cherry Switch keyboard, 
ALS-8, Sanyo video monitor, Bytesaver, and a real 
time clock. Highest offer above $1700 accepted. 
Also, Sol motherboard computer for $500. Juan 
Rivera, 354 Marshall Dr, Walnut Creek CA 94598, 
(415) 935-3235. 

FOR SALE: Used Selectric I/O (input/output) 
printer Model 731 in working condition, $450. 
TVT II board assembled with full data $50. Core 
memory plane 4 K by 16 bits or 8 K by 8 with 
interface and drive information $50. Shipping 
extra. Ted Becker, 317 158th St SE, Bothell WA 
98011,(206) 743-1321. 

WANTED: Back issues of BYTE, Interface Age, 
Popular Electronics, Popular Mechanics, Radio 
Electronics and Scientific American in good 
condition. Send details of holdings and price. 
Also, I have some duplicates of the above maga- 
zines to sell or swap. SASE would be appreciated. 
Michael Carter, 62B Escondido Village, Stanford 
CA 94305. 



FOR SALE; AMD9511 arithmetic integrated cir- 
cuit on S-100 card with BASIC-E. Calculate SIN 
(X) in 2.8 ms in BASIC. $250. G Lyons, 280 
Henderson St, Jersey City NJ 07302, (201) 451- 
2905. 

WANTED : Microcomputers; TRS-80, PET, 
Apple; any condition and quantity. Immediate 
cash available or trade for DEC PDP8e, f, m. 4 K 
PDPSm with teletypewriter interface $1100. Port- 
acom briefcase ASCII terminals with modems 
$595. K2DCY. Box 632, W Caldwell NJ 07006, 
(201) 226-9185. 

FOR SALE: Digital Group 10 ,K Z-80 system, 
assembled, includes MINI-BASIC, MAXI-BASIC, 
Assembler II, Editor, Op-sys, and all documenta- 
tion. Asking $1000. Will consider selling compo- 
nents separately. v Also 8 K of 21L02 integrated 
circuits, 450ns; unused, $65. J E Tucker, Box 
4338, APO NY 09223. 

FOR SALE: Surplus pipe organ parts. Direct 
electric chests, keyboards, console, cable, and 
various ranks of pipes. Low pressure, good to 
excellent condition with reasonable to ridicu- 
lously low prices. Also Friden Flexowriter, Potter 
high speed photo tape reader, 8 level punch and 
reader with power supply and interface electronics. 
Ferranti tape spoolers, other readers. Prefer pick- 
ups. Andy LaTorre, 45 Ellis Av, Northport NY 
11768, (516) 757-1913. 

FOR SALE: Vista 5 1/4 inch floppy disk drive 
with S-100 controller and cables. Factory assem- 
bled, mint condition. Tdo small for my needs. In- 
cludes CP-M, BASIC-E compiler, VOS assembler, 
text editor, other utilities, plus five diskettes of 
software and games. Paid $750, asking $500. 
Also, new cabinet and power supply for above. 
Paid $80, asking $50. David Schwinck, 2221 SW 
14th, Lincoln NE 68522. 

WANT TO TRADE: Have a Kenwood KT5300 
tuner and KA7300 integrated amplifier with 
CT-F9191 Pioneer cassette and Infinity 2000 II 
speakers in excellent condition. Worth $2600 
new. Would like a good computer system with 
mini disk of similar value. Leroy A McDaniel, 
916 N 4th St, McAllen TX 78501. 

FOR SALE: Complete assembled and running 
microcomputer system. Includes 680b mother 
board with cabinet and power supply, 16 K static 
memory, 680 KCACR cassette interface, 8 K 
BASIC on cassette. Assembler and Editor on 
paper tape, SwTPC. CT-1024 terminal system 
complete with all options plus cabinet for key- 
board, scrolling conversion kit, and fully socketed 
with 74LS series integrated circuits. Asking $1000 
US. R Pieracci, 43 May field Rd, Regina 
Saskatchewan CANADA, S4V 0B7. 

WANTED: Manuals fo' Wang BAS system. Also, 
software suitable for Wang 2200C cassette based 
computer. J E Thompson, POB 128, Monee IL 
60449. 

FOR SALE: Four 8 K memory boards for Heath- 
kit H8IWH8-8); assembled, nested and burned in. 
Heathkit price, $250 each; asking $195 each or 
four for $750. Henry Fale, 2918 S 7th St, 
Sheboygan Wl 53081, (414) 452-4172. 

FOR SALE; Intel SDK-85 development kit; 
fully assembled. 3 K programmable memory, 
cassette interface (software in 2708). Powermate 
PS 5 V/6 A. All integrated circuits socketed; 
contain all connectors. Packaged inside attache 
case. Full documentation. First money order for 
$375 gets it; I pay shipping. L Stroll, 211-05 
85th Av, Hollis Hills NY 11427, (212) 464-7341. 



FOR SALE: SwTPC M6800 with 8 K memory 
$300; MP-A processor board $100; AC-30 $65; 4 K 
memory boards $60; MSI 2708 erasable read only 
memory board $85; Digital Group Phi-Deck 
system, two drives, controller (not working), soft- 
ware, $250: above items fully socketed. Phillips 
Digital cassette drives, simple interface $125; 
Heathkit oscilloscope I/O (input/output) 105 
15 MHz, dual trace $425; Sola constant volt- 
age xfmer, 750 W $150. Jim Georgoulis, 504 Fort 
Drum Dr, Austin TX 78745, (5121 441-6568. 

FOR SALE: Two MITS Altair 4 K memory boards, 
model 88-4MCD, assembled and in service now, 
no bad bits. Includes original documentation. I 
need the slots. Price $75 each, postpaid and in- 
sured. Money order or certified check, or allow 
three weeks for personal check to clear. Lewis 
Mosley Jr, 2576 Glendale Ct NE, Conyers GA 
30208. 

FOR SALE: IMSAI microcomputer with 28 K 
programmable memory, read only memory board, 
Tarbell cassette interface, poly video board, key- 
board, monitor, and cassette tape recorder. All 
documented and working, $1300. Leo Breiman, 
905 Centinela Av, Santa Monica CA 90403, 
(213) 828-2840 or 829-741 1. 

FOR SALE: Seattle Computer Products 16 Kplus 
static memory, $350; Tarbell Electronics floppy 
disk controller, $225. Both hew, factory assembled 
and tested units. Glenn Nelson, 205 Meadows Rd, 
Whitefish MT 59937, (406) 862-3854. 

FOR SALE OR TRADE: S D Sates, 16 K Expand- 
oram (has sockets for 32 K). This board will not 
work with DMA or any application that requires 
wait states. I prefer to trade for static memory. 
I will sell for $200 ONO. Wayne Miller, 905 
Fairmount Blvd. Jefferson City MO 65101. 

FOR SALE: One Processor Technology VDM-1 
board kit, $130; one Processor Technology 8 K 
programmable memory board kit, $170. Both kits 
in original factory package - never opened. Best 
offer. Joe Haran, 607 Painters Xing, Chadds Ford 
PA 19317, (215) 358-3346. 

FOR SALE: Assembled Cromemco D+7A analog 
I/O (input/output) board. Ribbon cable and edge 
connector included. I will include all driving and 
applications software I have written to date. Ex- 
cellent condition, only $112. John Peterson, 1820 
Camino Dr, Forest Grove OR 97116. 

FOR SALE: 8 K programmable memory board, 
S-100, fully buffered. Memory protected, 
NEC2102L-450. Used over 50 hours; $129. 
J Grina, 1284 Fifield PI, St Paul MN 55108. 

FOR SALE: Model 123P Expandor/Mite printer. 
Complete with case and interface electronics. 
Ready to plug into any 8 bit parallel port. Full 
documentation. $325 postpaid. A P Stumpf, 
Box 1603, Litchfield Park AZ 85340, (602) 
935-2053. 

FOR SALE: A limited number of BYTE, Volume 
1 #1, in mint condition. Never been opened. 
Highest bids can have them while they last. Joe 
Haran, 607 Painters Xing, Chadds Ford PA 19317, 
{215)358-3346. 

FOR SALE: Digital Group Z-80 26 K system, 
keyboard, dual Phi-Decks, printer. All working, 
in dress cabinets; lots of software. No reasonable 
offer refused. Scott Bishop, 2221 Charlotte Dr, 
Maitland FL 32751, (305) 869-4203. 



286 



June 1979 © BYTE Publications Inc 




«nart Venus 2001 Video Board 

)M.mM^^ ^ Assembled and Tested $259.95 • Complete Unit with 4K / 



^f&^^^fm 1 °* Memory and Video Driver on Eprom assembled 

^^mmlSLMM and tested $339.95 



kit 




OPTIONAL: • Sockets $10.00 • 2K Memory $30.00 • 4K 
Memory $60.00 • Video Driver Eprom $20.00 • Text 
Editor Eprom (Includes Video Driver $75.00) 

S-1 00 Plug-In • Parallel Keyboard Port 

On board 4K Screen Memory (Optional). On board 
Eprom (Optional) for Video Driver or Text Editor 
Software. 

Up and Down Scrolling through 
Video Memory 

Reverse Video, Blinking Characters. 

Display: 128 ASCII Characters 64 X 32 or 32 X 
16 Screen format (Jumper Selectable). 7 by 11 Dot 
Matrix Characters. 



niMIllMlllMlilI(ll!llllil¥frf 



American or European TV Compati- 
ble (CRT Controls Programable) 

Dealer Inquires Invited 



CMHID OPENING SPECIAL! 



15 MHZ DUAL TRACE 

Portable 
Scope 

BIG PRICE 
BREAKTHRU 



399. 





MODEL MS-215 

• Battery or A.C. Operated • External and Internal Trigger 

• Time Base— .1 m Sec./Div. Into 21 Calibrated Ranges • 
3% Accuracy. Input Impedence 1 M Ohms • Complete 
with Input Cables, Battery and Charger. 
OPTIONAL: • Leather Case $45.00 • 10:1 Probe $27.00 
(2 for $49.00) Prices Good through 6/30/79 

MS- 7 5 Single Trace Scope $299. 



3 1 / 2 DIGIT DMM 
LCD Readout 

SIZE: 1.3" H 2.7" W 4.0" D 

• .5% Accuracy • AC-DC 
1-1000V • Ohms 1K-10M 

• Current lmA-1 Amp 

• 100% Overload Protection 
OPTIONAL: • Leather Case $20.00 

• NiCad Battery and Charger $16.00 

ffll| 3.5 LED DIGI 

Panel Meter 

• .5% Accuracy 

• Voltage Range 
0-1000V m 0± 

• Power: +5V 200mA OJmm 

• Auto Zero • Update Rate: 3 Rdg. / Sec. 




MODEL LM-350 

*J39 9S 




MODEL PM-349 



ASCII Keyboard Kit $77. 




Assembled and Tested $93.00 
• Single +5V Supply • Full ASCII Set (Upper and Lower 
Case) • Parallel Output • Positive and Negetave Strobe • 
2 Key Rollover • 3 User Definable Keys • P.C. Board 
Size: 17-3/16" X 5" • Control Characters Molded on Key 
Caps • Optional Provision For Serial Output 
OPTIONAL: Metal Enclosure $27.50 • Edge Con. $2.00 • 
Sockets $4.00 • Upper Case Lock Switch $2.50 • Shift 
Register (For Serial Output) $2.00 

Dealer Inquiries Invited 

Apple II I/O Board Kit 

Plugs into Slot of Mother Board 
•1 8 Bit Parallel Output Port (Expands to 3 Ports) • 1 Input 
Port • 15mA Output Current Sink or Source • Can be 
used for peripheral equipment such as printers, floppy 
discs, cassettes, paper tapes, etc. • 1 free software listing 
for SWTP PR40 or IBM selectric. 
PRICE: 1 Input and 1 Output Port $49.00 
1 Input and 3 Output Ports $64.00 
Dealer Inquiries Invited 



SHIPPING $3.50 / California residents add 6% sales tax 

ELECTRONICS WAREHOUSE Inc. 



15820 Hawthorne Boulevard 

Lawndale, CA 90260 

(213) 370-5551 




Circle 130 on inquiry card. 



To get further information on the products advertised in B YTE, fill out the reader service card with your name and address. Then circle 
the appropriate numbers for the advertisers you select from the list. Ada a 15 cent stamp to the card, then drop it in the mail. Not only do 
you gain information, but our advertisers are encouraged to use the marketplace provided by BYTE. This helps us bring you a bigger BYTE. 



Inquiry No. Page No. 



Inquiry No. Page No. Inquiry No. Page No. Inquiry No. Page No. 



1 


Aaron Associates 205 


• 


Data Set Cable Co 237 


207 


Maxwell Data Products 105 


314 


2 


Administrative Systems 1 50 


96 


DDC Publications 241 


• 


McGraw Hill Book Co 25 


322 


4 


Advanced Computer Products 251 


B9 


Delta Products 271 


215 


Measurement Sys & Controls 173 


323 


S 


American Square Computers 245 


84 


Digital Engineering Inc 193 


216 


Measurement Sys & Controls 231 


• 


7 


Anadex 82,83 


98 


Digital Equipment Corp (Book Div.) 13 213 


Micro Ap 169 


325 


1 5 


Apple Computer 1 9 


86 


Digital Pathways 171 


214 


Micro Architect 245 


326 


10 


apple tv & computing 247 


95 


DRC ICAI 154 


217 


Microcomputer Technology 147 


316 


11 


ASAP Computer Products Inc 283 


100 


DRC ITX) 275 


220 


MicroDaSys 189 


317 


19 


ATV Research 277 


114 


Eclectic (Div of Tano) 66 


219 


Micro Diversions 35 


331 


20 


Avery Labels 231 


115 


Electrolabs 280 


221 


Micro Focus LTD. 1 13 


318 


21 


Avionic Enterprises Inc 245 


120 


Electronic Control Technology 239 


222 


Micromail 72 


• 


22 


base 2, inc. 101 


125 


Electronic Systems 278 


204 


Micro Mike's 216 


319 


23 


Basic Time 1 75 


126 


Electronic Systems 279 


* 


Micropolis 190, 191 


* 


30 


Beckian Enterprises 282 


130 


Electronics Warehouse 287 


228 


Micro Pro International 48 


320 


27 


Beta Business Systems 277 


132 


Epoch Data Devices 247 


229 


Microsette 277 


327 


* 


Bits Inc 181. 200, 21 1 


133 


Exidy 54, 55 


* 


Microsoft 195 


328 


33 


Body Peripherals 122 


134 


Federal Communications Corp 123 


232 


Micro Software (CAD 241 




34 


Broadcast Computer Systems 231 


135 


Forethought Products 205 


231 


The Micro Works 206 


340 


31 


Business Applications Software 1 63 


141 


GRI 11 


233 


Micro World 139 


350 


32 


Buss/Charles Floto 215 


142 


H Geller 194 


234 


Miken Optical 245 


351 


• 


BYTE Back Issues 217 


143 


General Scientific Corp 245 


230 


Mikos 280 


335 


36 


BYTE Books 113, 125-128, 133, 199, 248 


144 


Gimix 247 


236 


Mini Computer Suppliers 220 


352 


37 


California Computer Systems 22, 23 


150 


Godbout 159 


255 


Morrow/Thinker Toys Clll 


353 


39 


California Digital 259 


153 


Go Forms 37 


256 


Morrow/Thinker Toys 39 


358 


40 


Cambridge Development Labs 222 


154 


Gowan Industries 247 


257 


Mountain Hardware 226 


354 


45 


Central Data 1 1 1 


152 


Graham Dorian 247 


258 


National Small Computer Show 107 


357 


46 


Chatsworth Data 1 2 


151 


GRT81 


281 


NEECO 155 


356 


47 


Chrislin Industries 207 


159 


H & E Computronics 1 54 


282 


NEECO 165 


355 


50 


"Compucolor" (Div Intelligent Sys) 27 


160 


Hayden Book Co 212 


280 


Netronics 225 


360 


51 


Compucolor [Div Intelligent Sys) 69 


161 


Hexagon SystBms 202 


283 


Newman Computer Exchange 263 


363 


53 


CompuMax Associates 141 


170 


Hobby World 36, 255 


285 


North Star Computer 45 


364 


52 


The Computer Cookbook 63 


174 


Hollywood Systems 285 


284 


Ohio Micro Systems 109 


366 


* 


Computer Factory NY 276 


171 


Houston Instruments 29 


• 


onComputing 33 


266 


* 


Computer Headwear 227 


172 


HUH 187 


288 


On Line 277 


366 


* 


Computer Lab NJ 239 


169 


HUH 187 


• 


Oregon Software 217 


368 


75 


Computerland 8, 9, 274 


176 


Independent Business Systems 213 


292 


Osborne & Associates 183 


371 


66 


Computer Mart of NJ & PA 21 


177 


Infinite Inc 247 


290 


OSI CIV, 57, 89 


372 


67 


Computer Packages Unlimited 245 


173 


Info 2000 151 


• 


Owens & Associates 203 


374 


77 


Computer Service Center 277 


178 


Inmac 223 


295 


Pacific Exchanges 231 


373 


73 


Computex Corp 235 


180 


Intecolor (Div Intelligent Sys) 65 


296 


Pacific Office Systems 284 


380 


71 


Computhink 229 


179 


Integrand 1 89 


297 


PAIA 221 


383 


78 


CT Micro Computer 58, 215, 233, 243 


175 


Interactive Microware Inc 241 


301 


Per Com Data 116, 117 


382 


82 


Covox 218 


181 


Internatinal Peripheral Systems 59 


305 


Per Com Data 253 


381 


83 


Creative Software 1 1 8 


190 


Ithaca Audio 281 


302 


Personal Software Inc 142, 143 


378 


87 


Cromemco 1 , 2 


195 


Jade Co 272, 273 


• 


Potomac Micro Magic 227 


393 


72 


Custom Computing 247 


200 


Jameco 256, 257 


310 


Potters Programs 277 


379 


74 


Cutting Edge of Technology 133 


183 


Key Supply Co 217, 231 


312 


Priority I 266, 267, 268 


384 


86 


Cybernetics Inc 204 


203 


Leedex Corp 235 


300 


Processor Technology 94, 95 


387 


90 


Cybertron 277 


• 


Lifeboat Associates 120, 121 


307 


Progrem Design Inc 209 


388 


88 


Cygol 231 


202 


Mad Hatter Software 97 


308 


PRS 46,47 


389 


91 


Data Discount Center 201 


199 


The Mail Mart 247 


306 


Quality Software 163 


391 


94 


Datamation 21 4 


205 


Marketline Systems 221 


311 


Quest Electronics 281 


392 


93 


DataSearch 192 


206 


Marinchip Systems 103 


313 


RACET Computes 1 92 


400 
401 



Radio Shack Authorized Sales Center 277 

RCA 85 

Realty Software 67 

The Recreational Programmer 245 

RNB233 

RNB 243 

S-100lnc 203 

Sara Tech Computers 210 

S C Digital 237 

Scelbi Computer Consulting Inc 219 

Scientific Research 115 

Michael Shrayor Software 185 

Shugart 6, 7 

Sierra Cybernetic Systems 215 

Ed Smith's Software Works 194 

Smoke Signal Broadcasting 73 

Software Development & Training 21 5 

Solid State Sales 265 

Southwest Technical Products Corp Cll 

Speakeasy Software 131 

SSM 77 

Stirling/Bekdorf 1 24 

Structured Systems Group 5 

Sunflex Co Inc 245 

Sunny International 2B5 

SuperSoft 202 

Sybex Inc 1 57 

Synchro Sound 43 

Tarbell Electronics 1 35 

Technical Systems Consultants 1 37 

Technology Systems South 237 

Terrapin 235 

Texas Instruments 31 

Texas Instruments 1 79 

3/M Company 91 

Tora Systems Limited 231 

Trans Data 204 

TRS-80 Software Exchange 197 

TSA Software 241 

Ucatan 245 

US Brokers Co (Div. CM Corp) 247 

US Robotics 1 1 9 

Vector Electronics 51 

Vista 201 

Vista 161 

V M Professional Application Software 277 

VR Data 282 

Wameco 284 

Western Digital Corp 32 

Wintek 231 

Worldwide Electronics 231 

XComp 217 

Xitex 239 

Zg Systems 247 

*Correspond directly with Company 



GOMG- 

BYTE's Ongoing Mcnilcp 6ox 



Article No. 



ARTICLE 



1 Albus: A Model of the Brain for Robot Control 

2 Allen: Simple Maze Traversal Algorithms 

3 Ciarcia: Mind Over Matter 

4 Watson: More Colors for Your Apple 

5 Dawes: A Home for Your Computer 

6 Gupton: Talk to a Turtle 

7 Stanfield: My Computer Runs Mazes 

8 Johnston: Computer Generated Maps 

9 Powers: The Nature of Robots 

10 Melton: The 1802 Op Codes 

11 Reid-Green: History of Computing: The IBM 7070 

12 Kiehn: Artificial Intelligence and Entropy 

13 Ruckdeschel: BASIC Text Editor 

14 Halsema: Bubble Memories 

15 Radhakrishnan, Bhat: Stacks in Microprocessors 

16 Van den Bout: Designing a Command Language 

17 Linker: Timesharing: Squeezing the Most from Your Micro 

18 Honess: Three Types of Pseudorandom Sequences 



PAGE 

10 

36 

49 

60 

70 

74 

86 

100 

132 

146 

148 

152 

156 

166 

168 

176 

228 

234 



March BOMB Results 

In the voting for the March 1979 BYTE, 
first prize and a $100 bonus check go to Ira 
Rampil for his article, "Preview of the 
Z-8000." Two articles shared second place, 
and will receive bonus checks of $50 each. 
These were the third installment of Joel 
Boney and Terry Ritter's article on the de- 
sign and implementation of the Motorola 
6809 processor, "A Microprocessor for the 
Revolution," and the second part of Andrew 
Filo's article, "Designing a Robot from Na- 
ture." Remember, it is your votes which 
determine whether an author will receive 
this bonus each month, so be sure to send 
in the BOMB evaluations." 



288 June 1979 © BYTE Publications Inc 



DOUBLE DENSITY 



WWIIIIUUUUHU 




u: 


c 




Now you can put your S-100 system solidly into 
a full-size, single/double density, 600K bytes/side 
disk memory for just $1149 complete. 

DISCUS/2D™ single/double density disk 
memory from Thinker Toys™ is fully equipped, fully 
assembled, and fully guaranteed to perform perfectly. 

DISCUS/2D™ is a second generation disk 
memory system that's compatible with the new IBM 
System 34 format. The disk drive is a full-size Shugart 
800R, the standard of reliability and performance in 
disk drives. It's delivered in a handsome cabinet with 
built-in power supply. 

The S-100 controller utilizes the amazing Western 
Digital 1791 dual-density controller chip . . . plus 
power-on jump circuitry, 1Kof RAM, 1Kof ROM with 
built-in monitor, and a hardware UART to make I/O 
interfacing a snap. 

The DISCUS/2D™ system is fully integrated with 
innovations by designer/inventor George Morrow. 
Software includes BASIC-V™ virtual disk BASIC, 
Circle 255 on inquiry card. 



DOS, and DISK-ATE™ assembler/editor. Patches for 
CF/M* are also included. CP/Mt Microsoft Disk 
BASIC and FORTRAN are also available at extra cost. 

DISCUS/2D™ is the really solid single/double 
density disk system you've been waiting for. We can 
deliver it now for just $1149. And for just $795 apiece, 
you can add up to 3 additional Shugart drives to your 
system. Both the hardware and software are ready 
when vou are. 

Ask your local computer store to order the 
DISCUS/2D™ for you. Or, if unavailable locally, write 
Thinker Toys,™ 5221 Central Ave., Richmond, CA 
94804. Or call (415) 524-2101 weekdays, 10-5 Pacific 
Time. (FOB Berkeley. Cal. res. add tax.) 

*CP/M is a trademark of Digital Research. 

f f jMorrow makes disk memory for 

Thinker Toys 



"See us in booths 98 and 99 at the NCC 



OHIO SCIENTIFIC! DOES IT AGAMl 



Ohio Scientific has taken its standard C3 com puter and 
married itto the new Shugart 29 Megabyte Winchester 
Drive. The result is the C3-C. This new microcomputer 
now fills the vacuum that existed for computer users 
who need more mass storage capability than floppies 
can offer - yet until now, could not justify the additional 
cost of a larger capacity hard disk computer such as 
our C3-B 74 Megabyte disk system. 

Winchester Technology 

Winchester hard disk drives offer small business and 
professional computer users the logical solution to 
mass storage problems that are beyond the capability 
of floppy disks. In addition, Winchester 
disksfeatureatrackseek- 
time that is much better 1 
thanfloppiesand because 1 
theyspin at eight times the ' 
rate of floppies, Winches- 
ters have a shorter latency. 
Both of these points reflect 
one remarkable speed I 
advantage Winchester disks ■ 
have over floppies. 

Coupled to the C3 Computer 1 

Ohio Scientific's award win- 1 
ning C3 computer is a classic. ' 
It is the only computer series 
that utilizes the three most 
popular microprocessors — 
6502A, 68B00 and Z-80. This 
tremendous processor versatil- 
ity enables one to utilize a seem- 
ingly endless selection of quality 
programs available from Ohio 
Scientific's software library as 
well asfrommanyinde pendent 
suppliers. 

And Advanced Software 

For instance, there are single user, 1 
multi-user and network operating I 
systems. A complete turnkey small ' 
business package, OS-AMCAP pro- 
vides accounts receivable, accounts 
payable, disbursements, cash re- 
ceipts, general ledger, etc. OS-CP/M 
offers a complete FORTRAN and 
COBOL package. And there is WP-2, a 
complete word processing system. For 
information management, OS-DMS, 
features an advanced file handling system 
and program library that simplifies informa 
tion storage and recall and routinely per- 
forms tasks which usually require special 
programming on other systems. 



Yields the Microcomputer of the Future 

With an eye toward the future, the C3-C, like all other 
C3'swasdesigned with provisions for future generation 
16 bit microprocessors via plug-in options. There are 
ten open slots for lots of I/O and multi-user operation. 
Truly, the Ohio Scientific C3-C is a computer with a 
future. 

The new C3-C computer 
with 29 Megabyte 
Winchester Hard Disk. 



$9340 with 48K static 
RAM and OS-65U 
operating system 



600K byte 
Dual 8"floppys 



Easy to configure 
and service. 
Rack slide mounting 
on all subassemblies.. 
10 open slots for 
expansion. 



1333 S. CHILLICOTHE RD., AURORA, OHIO 44202 (216) 562-3101 




Shugart SA-4008 
29 Megabyte 
Winchester Disk 
(23 Megabytes of 
formatted user space 
under OS-65U). 



OEM pricing available 



Circle 290 on inquiry card.